QuickBlox REST API Laravel上的意外签名

我从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 . "&timestamp=" . $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 &timestamp=1438287989 &user[login]=tester1@test.net &user[password]=qwer1234 

当我尝试创build一个会话时使用这个参数来得到这个响应:

 $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.... 

我的签名有什么问题?

我正在创build一个新的用户注册,所以没有必要的用户[login]和用户[密码] PARAMS。 这些参数只是需要login。