我从QuickBlox REST API获得以下json响应:
{
"base": ["Unexpected signature"]
}
我的签名方法:
private function createSignature($login, $password, $timestamp, $nonce)
{
$signatureContent = "application_id=" . env('QB_APP_ID') .
"&auth_key=" . env('QB_APP_KEY') .
"&nonce=" . $nonce .
"×tamp=" . $timestamp .
"&user[login]=" . $login .
"&user[password]=" . $password;
return hash_hmac('sha1', $signatureContent, env('QB_APP_SECRET'));
}
应用程序ID和身份验证密钥是正确的。 $signatureContent
值(断行仅用于提高文本可读性):
application_id=24544
&auth_key=6N9bYKT-fKGRQ7q
&nonce=268302610
×tamp=1438287989
&user[login]=tester1@test.net
&user[password]=qwer1234
当我尝试使用此参数创建会话时,我收到此响应:
$postBody = http_build_query([
'application_id' => env('QB_APP_ID'),
'auth_key' => env('QB_APP_KEY'),
'timestamp' => $ts, // SAME VALUE ON SIGNATURE: 1438287989
'nonce' => $nonce, // SAME VALUE ON SIGNATURE: 268302610
'signature' => $signature,
'user[login]' => $login,
'user[password]' => $password
]);
// cURL Request and Response....
我的签名有什么问题?
答案 0 :(得分:1)
我正在创建一个新的用户注册表,因此不需要用户[登录]和用户[密码]参数。只需登录就可以使用这些参数。