Я получаю следующий ответ json от QuickBlox REST API:
{
"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'));
}
Идентификатор приложения и ключ авторизации и является правильным. $signatureContent
значение (разрыв строки только для улучшения читабельности текста):
application_id=24544
&auth_key=6N9bYKT-fKGRQ7q
&nonce=268302610
×tamp=1438287989
&user[login][email protected]
&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....
Что не так с моей подписью?
Я создаю новый реестр пользователей, поэтому не нужны параметры user [login] и user [password]. Эти параметры необходимы только для входа.
Других решений пока нет …