簡體   English   中英

如何使用facebook-> getLoginStatusUrl()?

[英]How do I use facebook->getLoginStatusUrl()?

我目前將用戶重定向到給定的url,它使用2個get參數將用戶返回到網頁:“ session”和“ perms”。

燙發的含義很明顯。

會話似乎是JSON斜杠轉義的數組。 在json_decode(slashcstrip($ _ GET ['session']))之后,我找到以下成員:uid,session_key,secret,expires,base_domain,access_token,sig。 什么是秘密和信號? 如何使用它們來驗證數據?

謝謝!

sdk使用該會話信息為您驗證數據。 您需要做的就是調用$ facebook-> getUser()並檢查您是否獲得了用戶ID。

$ next_url = $ facebook-> getLoginStatusUrl($ params); 檢索fb用戶登錄狀態

據我了解, 狀態URL用於確定用戶的狀態。 如果您對生成的狀態URL進行HTTP調用,facebook將根據用戶狀態重定向到其中一個重定向URL,則可以使用URL請求來更新應用程序上的用戶會話,並為該應用采取處理措施。用戶狀態

ok_session => user has facebook session -> start app
no_user    => unknown user, ask user to login
no_session => known user, ask to login

跟着這些步驟:

  1. 您生成一個URL:$ next_url = $ facebook-> getLoginStatusUrl();
  2. 將用戶重定向到以下網址:header('Location:'。$ next_url);
  3. FB將為用戶返回有關登錄狀態的會話信息
  4. SDK將解析返回的信息
  5. 使用$ facebook-> getUser(); 獲取access_token和userid(如果已登錄)

到現在為止還挺好。 唯一的問題是,自從Facebook API轉換為oAuth2.0以來,此功能(第4點)已損壞,另請參見以下錯誤報告: http : //developers.facebook.com/bugs/295348980494364返回的$ _GET ['session ']在新的oAuth2.0 SDK中沒有用,它在舊的PHP-SDK v2(當前為3.1.1)中使用。

因此,通過添加復制品,請讓FB知道您遇到相同的問題。

干杯!

暫無
暫無

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

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