我们正在使用Facebook Javascript SDK对我们的用户进行身份验证。
用户进行身份验证后,用户将获得fbsr_< app_id>包含签名请求的cookie。
然后我们使用AJAX将一些信息发布到我们的服务器。服务器接收带有签名请求的cookie,但是当服务器解析cookie中的签名请求(修改过的python SDK)时,它会将JSON对象解码为:
{ "algorithm": "HMAC-SHA256", "code": "2.AQDBJ3-ZpURb9P4T.3600.1316037600.1-786359552|BNK6FGOAkvMs7slboQMSIEJYDWc", "issued_at": 1316031333, "user_id": "786359552" }
这与我们应该得到的signed request documentation相反。
服务器需要访问令牌,因此可以使用GraphAPI获取一些其他信息。
我们如何从签名请求中获取访问令牌?
答案 0 :(得分:2)
使用新的oauth2工作流程和javascript sdk,用户令牌将可用。
在您进行身份验证后,您可以找到类似此内容的令牌
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
alert(response.authResponse.accessToken);
}
});
获得令牌后,您只需将其传递回后端即可查询图表。
答案 1 :(得分:1)
正确的是:
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
alert(response.session.access_token);
}
});