为什么我会"Signature mismatch. Authorization signature or thing credential is wrong"?



尝试为设备生成一个令牌,获得"签名不匹配"。授权签名或凭证是错误的"不知道我在做什么不正确

发送标头的邮政请求:内容类型:应用程序/JSON授权:OAUTH OAUTH_CONSUMER_KEY =" AC85020F-C352-4AC9-853E-4B64F3645463",oauth_signature_method =" hmac-sha256 ,oauth_signature ="P>

Oauth签名是:post& https%3A%2f%2ftracking.api.here.rhe.here.com%2FV2%2ftoken& oauth_consumer_key%3DAC85020F-C352-C352-C352-C352-C35255%25%355554B64F364F364F364F364F364F364FTRACKIN.API.HERHE.REHER.HERHE.HERE.REHE.HERE.REHE.HERE.COL.HEAPI.API.HERE.COL.HEAP. %26oauth_signature_method%3DHMAC-SHA256%26OAUTH_TIMESTAMP%3D1558260025%26oauth_version%3D1.0

签名:{设备秘密}&

并得到:{ "代码":401, " ID":" 624B4EB2-7838-450D-8C5C-363C3DF4F308", "消息":"签名不匹配。授权签名或凭据是错误的。", "错误":" 时间戳错误 n n当请求时间戳与 nserver时间有10秒以上的差异,将带有当前服务器的x-here-timestamp标头添加到响应中。 。n n 不正确的签名 n nif oauth签名不正确,响应将为401,但 n 没有 x-here-timestamp字段。 n"。}

和Timpestamp并没有错

您在OAuth签名中缺少一点。我遇到过同样的问题。它应该看起来像

POST&https%3A%2F%2Faccount.api.here.com%2Foauth2%2Ftoken&grant_type%3Dclient_credentials%26oauth_consumer_key%3Dxxxxxxxxxxxxxxxx%26oauth_nonce%3D5e5c338b14198%26oauth_signature_method%3DHMAC-SHA256%26oauth_timestamp%3D1583100811%26oauth_version%3D1.0

您缺少grant_type%3DCLIENT_CREDENTIONS,就在"令牌"&'

之后

如果有人有类似情况,则&在主机和参数之间(以及帖子之后(需要排除在urlencoding之外:

'POST&' + encodeURIComponent('https://account.api.here.com/oauth2/token') + '&' + encodeURIComponent(paramString);

拥有访问密钥和签名后,您可以使用令牌REST API请求令牌。一个典型的请求包括以下元素:

url https://account.api.here.com/oauth2/token

http标头

content-type:application/x-www-form-urlenCoded授权:Oauthoauth_consumer_key =",oauth_nonce =",oauth_signature =",oauth_signature_method =" hmac-sha256",oauth_timestamp =",oauth_version =" 1.0"

请求body

请求主体必须包含:grant_type = client_credentials

注意:Grant_Type的值必须始终是client_credentials。

  • 我遇到了同样的问题。我在标题时发现URL不匹配签名生成和API调用URL。所以我想你错过了或添加一些您需要的空间或其他小东西重新检查您的代码并仔细验证。我确定它有效为你。

最新更新