Oauth 2.0无法从signed_request“代码”值中获取访问令牌 [英] Oauth 2.0 cannot get an access token from the signed_request 'code' value
本文介绍了Oauth 2.0无法从signed_request“代码”值中获取访问令牌的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在迁移到Oauth 2.0。我当前的站点使用JS SDK,具有fb-login按钮,然后访问Graph以获取用户详细信息。
我在获取访问令牌时遇到问题
一个问题可能是JS SDK对话框未将我重定向到它说应该重定向的URL,即带有?code = XXXXXXX的URL
因此,我查看了php SDK(我使用的是ASP)以了解它是如何实现的。我已经在Cookie中解析了签名请求值,并在代码参数中获取了要添加到令牌URL的值,但是我无法获得访问令牌。这些是我正在使用的值:
已解析的sign_request数据:
{ algorithm: HMAC-SHA256, code: 2.AQCovUOFCduELbna.3600.1323900000.1-773555243 | Y_cW4riF4K7el_9a4oVNjL0qvZc, issued_at:1323895617, user_id: bXXXXXX b $ b令牌URL:https://graph.facebook.com/oauth/access_token?
client_id = XXXXXXXX&
redirect_uri = XXXXXXXX&
client_secret = XXXXXX&
code = 2.AQCovUOFCduELbna.3600.1323900000.1-773555243 | Y_cW4riF4K7el_9a4oVNjL0qvZc
这是响应:
{ error:{ message:验证验证码时出错。, type: OAuthException }}
代码值是否显示为正确格式?有什么问题的主意吗?
解决方案
在这里存在相同的问题...
解决方案:如果代码是从cookie有效负载中提取的,则将参数redirect_uri留空
try
查看全文