我在 JS 客户端上使用 FB.login 并想在服务器上验证用户的身份。因此,客户端从 facebook 获得一个 signedRequest 并将其发送到服务器。服务器在句点上进行拆分,并将签名请求的第二部分解码为 json 对象。
当我将服务器端请求发送到
https://graph.facebook.com/oauth/access_token?
client_id=YOUR_APP_ID
&redirect_uri=YOUR_REDIRECT_URI
&client_secret=YOUR_APP_SECRET
&code=CODE_GENERATED_BY_FACEBOOK
我解码的 json 看起来像:
{"algorithm":"HMAC-SHA256","code":"2.AQCPA_yfx4JHpufjP.3600.1335646800.1-5702286|l11asGeDQTMo3MrMx3SC0PksALj6g","issued_at":1335642445,"user_id":"5232286"}
那是我需要的代码吗?需要B64编码吗?如果这不是代码,我应该使用什么代码?
_
我试过的:
我尝试使用的请求是:
https://graph.facebook.com/oauth/access_token?client_id=295410083869479&redirect_uri=https://squaredme.appspot.com/facebookredirect&client_secret=44f1TOPSECRETbb8e&code=2.AQCPA_yfx4JHpufjP.3600.1335646800.1-5702286|l11asGeDQTMo3MrMx3SC0PksALj6g
但这会返回错误:
{"error":{"message":"Error validating verification code.","type":"OAuthException","code":100}}
我不知道这是因为我使用了错误的代码,还是什么。值得注意的是,这是在我的本地开发服务器上运行的,而 squaredme.appspot.com 肯定不会解析到我的 IP。我不知道 facebook 是否会检查或检查什么 - 我假设我会收到更好的错误消息。感谢您的任何指导!