我记得签名的画布应用请求中的所有内容: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
有什么意义?我已经拥有了登录回复所需的所有信息。
答案 0 :(得分:0)
当您的应用用户访问https://apps.facebook.com/myapp
时,他自带signed_request
。
然后您将用户提供给landing page
。在landing page
fb中,jsdk加载并写入cookies
到browser
。
然后当用户来到您的服务器时,他会带来这些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
,则您将无法检查风扇状态。