簡體   English   中英

Facebook登錄-檢測未使用PHP-SDK登錄的用戶

[英]Facebook login - detect user logged in without PHP-SDK

我已經根據https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow/建立了用於Facebook登錄的自定義登錄流程...

如果access_token檢索(交換訪問令牌的代碼)成功(沒有GET錯誤),是否認為用戶是facebook-valid-user-logged-in?

facebook access_token是用戶唯一的東西,還是只能由“用戶生成”的東西?

還是我應該嘗試使用該access_token來檢索用戶信息,並在成功檢查它之后(它具有許可要求的信息,例如電子郵件),然后才將其視為facebook-valid-user-logged-in?

PS:我不想使用Facebook PHP-SDK

如果您需要不使用官方SDK,那么我應該說您應該通過查詢/me來驗證檢索到的令牌。

這是確保您正在處理有效令牌的最佳方法,因為當您將其用於請求時,該令牌已被Facebook驗證。

如果您使用的令牌無效,則會收到類似以下的響應:

{
  error: {
    message: "Invalid OAuth access token.",
    type: "OAuthException",
    code: 190
  }
}

用戶訪問令牌對於每個用戶每個應用程序都是唯一的。 每個應用程序將為同一用戶返回不同的令牌。

應用程序訪問令牌對於每個應用程序都是唯一的,不需要任何向Facebook的請求即可檢索它們-它們只是app_id和app_secret之間的串聯: app_id|app_secret文檔中所述:

還有另一種方法可以調用Graph API,而無需使用生成的應用程序令牌。 撥打電話時,您只需將應用程序ID和應用程序密鑰作為access_token參數傳遞即可:

http://graph.facebook.com/endpoint?key=value&access_token=app_id|app_secret

選擇使用生成的訪問令牌還是使用此方法取決於您隱藏應用程序秘密的位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM