Quickblox rest api创建的会话功能在没有用户信息的情况下运行,但在我添加用户信息时无效。
签名字符串:成功
string signatureStr=string.Format("application_id={0}&auth_key={1}&nonce={2}×tamp={3}", this.application_id, this.auth_key, this.nonce, this.timestamp);
签名字符串:错误
string signatureStr=string.Format("application_id={0}&auth_key={1}&nonce={2}×tamp={3}&user[login]={4}&user[password]={5}", this.application_id, this.auth_key, this.nonce, this.timestamp,this.user.login,this.user.password);
生成签名功能
public string GenerateHmacSha1(string key, string body)
{
System.Text.Encoding encoding = System.Text.Encoding.UTF8;
byte[] keyByte = encoding.GetBytes(key);
HMACSHA1 hmacsha1 = new HMACSHA1(keyByte);
byte[] messageBytes = encoding.GetBytes(body);
byte[] hashMessage = hmacsha1.ComputeHash(messageBytes);
return ByteToString(hashMessage);
}
错误信息
StatusCode => 422不可处理的实体
错误讯息=>意外的签名
为什么会有效?