[英]Facebook: Redirect after login, user session is empty?
我正在嘗試在iframe應用程序內請求一些權限的同時將用戶身份驗證(登錄)到Facebook。
我將JS SDK與PHP SDK結合使用。 因此,首先我檢查用戶是否已登錄,並使用PHP $facebook->getUser()
一切正常,當失敗時,我將用戶重定向到運行此JS的頁面:
FB.getLoginStatus(function(response) {
if (response.status === "connected") {
// Ok, go home
} else {
FB.login(function(response) {
if (response.authResponse) {
// Ok, go home
} else {
// Cancelled, go home
}
}, {scope: '<?php echo implode(',', $this->permissions); ?>'});
}
});
然后,這將創建一個登錄對話框,詢問權限。 如您所見,在某些情況下,用戶已正確進行身份驗證/授權以及對話框被取消的情況。 在任何一種情況下,我都需要做一件事:重定向回我的應用程序的根目錄。
因此,彈出對話框,用戶登錄,然后將他重定向回首頁,在這里我使用PHP來getUser()
。
這里的問題是,第一次登錄並重定向用戶時, getUser()
始終為空,因此沒有用戶會話。 如果刷新保存應用程序iframe的Facebook頁面,則表明存在會話和權限已正確設置,表明對話框已完成工作。
為什么第一次重定向為什么不起作用?
我發現了類似的問題,但沒有給我一個具體的可行的解決方案。
如果還有其他人遇到相同的問題,這是我所學到的:
$api->setAccessToken($yourNewToken);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.