php-sdk icon indicating copy to clipboard operation
php-sdk copied to clipboard

\Qiniu\Auth::verifyCallback 无法实现对持久化处理的回调验证

Open xpader opened this issue 11 months ago • 0 comments

看了下持久化回调的验证,回调时的 Authorization 似乎已经变了,以前只要调用 \Qiniu\Auth::verifyCallback() 方法就可以验证,现在已经无法进行验证了。

看了下实现,verifyCallback() 里验证的格式是 Authorization: QBox 开头。 但是现在的回调是 Authorization: Qiniu 开头,并且算法也变了。

目前发现可以继续用 sdk 进行验证的方法是:

        $auth->options['disableQiniuTimestampSignature'] = true;
        $sign = $auth->authorizationV2($currentUrl, $method, $requestBody, $contentType);

        if ($sign['Authorization'] !== $authorization) {
            // 验证失败
        }

使用 SDK 中的 authorizationV2() 并表在验证前配置 disableQiniuTimestampSignature 选项即可得到相同的签名。

xpader avatar Mar 15 '24 12:03 xpader