希望這應該是快速和容易的。Facebook PHP SDK - 必須在新瀏覽器會話期間重新進行身份驗證?
session_start();
include("facebook.php");
$facebook = new Facebook(array(
'appId'=>'xxxxx50274xxxxx',
'secret'=>'xxxxxb932d62fbc6287feb18e5exxxxx',
'cookie'=>true
));
$fbuser = $facebook->getUser();
if (empty($fbuser)){
$fbloginurl=$facebook->getLoginURL();
echo "<html><body><a href='$fbloginurl'>Click</a></body></html>
} else {
die("Authenticated");
}
在這個例子中,我第一次點擊鏈接給應用程序的權限來訪問我的FB帳戶,一切正常。我可以不斷刷新頁面,並獲得「Authenticated」確認。
但是,每次我重新啓動瀏覽器(開始新會話)時,它都不會自動驗證應用程序,我必須再次單擊該鏈接。當然,只要我點擊鏈接,我會立即重定向回到源頁面,並顯示「Authenticated」確認。
有沒有什麼辦法可以在新的瀏覽器會話期間不必點擊認證鏈接並自動進行認證?我需要在沒有PHP Header指令的情況下執行此操作,因爲我希望用戶第一次授予應用程序的權限以通過手動點擊觸發。
我的FB登錄是持久性的(「保持登錄狀態」選項被選中)。
非常感謝您的幫助。
約翰,我懷疑你有相同的「問題」,但你通過使用JS重定向解決它。這樣,它對最終用戶來說實際上是看不見的。但是,就我而言,我試圖明確避免任何自動重定向。 –