2013-05-20 123 views
2

建議您的應用程序是否使用代碼或令牌作爲您的response_type,您應該對access_token執行自動檢查以確認該令牌屬於應用程序期望它屬於的人,並且它是您的應用程序生成的令牌。如何在Facebook上獲得app_admin_token檢查的應用程序訪問令牌?

你應該做這個

GET graph.facebook.com/debug_token? 
input_token={token-to-inspect} 
&access_token={app-token-or-admin-token} 

其中,app-令牌APP_ID | app_secret和令牌到檢查是用戶的access_token。另外,我認爲通過閱讀文檔,您可以通過使用app_id和app_secret進行客戶端憑據調用來檢索應用程序令牌。

這是細跟的授權流程中實現服務器端的,但如果你使用隱式方法,並選擇RESPONSE_TYPE作爲標記的內容(以任何理由不使用FB的JavaScript SDK)?如何安全地獲取該應用程序令牌而不泄漏您的app_secret? FB的SDK如何做到這一點?

回答

3

您可以在您的Facebook開發人員面板here 中生成app_token,然後將其保存到配置文件服務器端。從開發人員的頁面:

應用程序令牌不會過期,因爲它們與您的應用程序密鑰相關,所以應該保密。

在我的網頁,我用下面的流程:

  1. 用戶與Facebook的JS SDK進行身份驗證,然後送他 令牌+ UID到服務器。
  2. 服務器通過調用方法「debug_token」 來驗證給定的令牌 與給定的人有關。
  3. 如果令牌+ uid組合有效,則它將驗證用戶服務器端的身份,即 。

我希望這會有所幫助。

+0

這是FB的javascript SDK,默認處理debug_token調用,但是,對吧?看起來應用程序令牌也應該保密,所以如何才能安全地發送它,除非在服務器端完成? – jchysk

+1

正如我所說的,debug_token請求是作爲服務器端的:「服務器通過調用」debug_token「來驗證給定的令牌與給定的人有關...」。順便說一句,我不確定應用程序令牌是不是一個大祕密。你有一個你應該真正保護的「應用祕密」。 –

相關問題