【发布时间】:2011-06-21 07:42:17
【问题描述】:
我正在使用 (OpenId+OAuth) 混合协议。
在我使用所有 openid 和 oauth 扩展参数将用户重定向到“https://www.google.com/accounts/o8/ud”后,用户可以看到我需要访问的登录屏幕和服务。成功登录后,我收到如下响应:
http://muUrl.com/...&openid.ns.ext2=http://specs.openid.net/extensions/oauth/1.0&openid.ext2.scope=http://docs.google.com/feeds/&openid.ext2.request_token=4/8GCHDIvtxhbg8gVkfYro7QIFakoB
我了解用户已正确登录并且粗体文本是授权令牌。然后我调用获取所有参数除了oauth_verifier的访问令牌,因为这在混合模式下不可用。我使用 HMAC-SHA1 签署基本字符串,密钥为“consumersecret&”(令牌密钥尚不可用)
我收到签名无效的 400 个错误请求。非常感谢任何帮助或建议来解决此问题。
【问题讨论】:
-
检查您的逃逸百分比。 Google 令牌中有很多特殊字符,很容易忘记正确转义它们。这将使签名无法匹配。如果这不起作用,您真的将不得不在您的问题中添加更多信息。这里没有足够的信息来成功调试 OAuth 问题。
-
谢谢...这只是编码问题。
-
但是你在哪里写编码?这是 Google 课程...我得到一个类似“code=4/Ryjbc-ykPJvJhhonyYiN3359rofU.8r0nRibOcg0TOl05ti8ZT3aNCxetdQI”的代码 - 你认为它应该被编码吗?
标签: oauth