1

我記得所有從canvas應用程序的簽名請求中的東西:http://developers.facebook.com/docs/authentication/signed_request/FB Javascript SDK:signed_request有什麼意義?

現在我使用JS SDK(FB.login()方法),它已經爲您提供了auth token et al。以及簽署的請求。一個帆布的應用程序的簽名的請求得到信息,而不是,我得到的只是:

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

那麼是什麼讓我困惑的是:什麼是的JS SDK的signed_request點?我已經擁有了所有需要登錄回覆的信息。

回答

0

當您的應用程序用戶來到您的https://apps.facebook.com/myapp時,他自帶的signed_request

然後您將您的用戶提供給您的landing page。在那landing page fb jsdk加載和寫入到cookiesbrowser

然後,當用戶來到您的服務器,他來這些cookies。所以寫作cookies不是你的工作,而是fb jsdk的工作。

然後您的服務器讀取這些cookies並處理進一步的操作。

其他信息

雖然在github上衝浪,我發現

此客戶端庫的目的是支持Facebook的圖形API和 官方的Facebook的JavaScript SDK,它是規範的方式 實現Facebook身份驗證。

如果您使用的是帶有 的JavaScript SDK中的web應用程序中的模塊,你也可以使用該模塊使用Facebook的登錄, 解析餅乾由JavaScript SDK設置對於登錄用戶

取自here

0

signed_request中可能提供了登錄響應中未提供的額外信息。

例如,如果您需要檢查用戶是否是收藏該應用程序的頁面的粉絲,則此信息在signed_request中提供。如果用戶在那個時候進行了認證,那麼這可以在加載時由服務器注入到頁面中,但是如果您使用的是ajax認證,並且登錄響應中未提供signed_request,那麼您將無法檢查風扇狀態。