FB Javascript SDK:signed_request有什么意义?

时间:2011-11-25 03:18:04

标签: javascript facebook facebook-graph-api facebook-javascript-sdk

我记得签名的画布应用请求中的所有内容:http://developers.facebook.com/docs/authentication/signed_request/

现在我正在使用JS SDK(FB.login()方法),它已经为您提供了身份验证令牌等。以及签名的请求。我得到的只是:

而不是画布应用程序签名请求的信息

{"algorithm"=>"HMAC-SHA256", "code"=>"2.AQAdX5Zl5gY-Z_D7.3600.1322193600.1-XXXXX|HmarTBK09MSiB0o76cLgaTUd4y4", "issued_at"=>1322188281, "user_id"=>"XXXXXX"}

令我困惑的是:JS SDK的signed_request有什么意义?我已经拥有了登录回复所需的所有信息。

2 个答案:

答案 0 :(得分:0)

当您的应用用户访问https://apps.facebook.com/myapp时,他自带signed_request

然后您将用户提供给landing page。在landing page fb中,jsdk加载并写入cookiesbrowser

然后当用户来到您的服务器时,他会带来这些cookies。所以写cookies不是你的工作,而是fb jsdk的工作。

然后您的服务器会读取cookies并处理其他操作。

其他信息

在github上冲浪时,我找到了

  

此客户端库旨在支持Facebook Graph API和   官方Facebook JavaScript SDK,这是规范的方式   实施Facebook身份验证。

  

如果您在Web应用程序中使用该模块   JavaScript SDK,您也可以使用该模块使用Facebook进行登录,   解析JavaScript SDK为登录用户设置的cookie

取自here

答案 1 :(得分:0)

signed_request中提供的额外信息未在登录响应中提供。

例如,如果您需要检查用户是否是应用该应用的页面的粉丝,则会在signed_request中提供此信息。如果用户在该点进行身份验证,则可以在加载时将此注入页面,但是如果您使用的是ajax身份验证并且登录响应中未提供signed_request,则您将无法检查风扇状态。