請,我需要幫助。我正在處理這個問題1個月!Facebook連接給出了一個重定向循環
我想實現facebook連接登錄到我的網站,使用PHP和php-sdk 3.1.1。簡而言之,我的代碼脫機工作(在本地主機上),但不在線,導致「循環太多(在Chrome上)」:錯誤310(net :: ERR_TOO_MANY_REDIRECTS):有太多的重定向。
這裏是我的代碼:
1/I加載的Facebook連接SDK和初始化它:
require 'src/facebook.php';
$facebook = new Facebook(array(
'appId' => '209633612480053',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'
));
請注意,我創建Facebook的developper頁面上有兩個應用,一個是離線測試,另一個用於在線測試。在測試時,我肯定會在兩對appId/secret(在線和離線)之間正確切換。所以這不是facebbok-connect init的問題。
2 /我會試圖獲取用戶信息:
$uid = $facebook->getUser();
if($uid)
{
/*
* Get user information.
*/
$user = $facebook->api('me/');
print_r($user); // Display user info.
}
else
{
/*
* Redirect to FB login URL to allow access.
*/
$loginURL = $facebook->getLoginURL();
echo '<script> top.location.href=\''.$loginURL.'\'</script>';
}
就這麼簡單:如果用戶IC連接到Facebook上,所以顯示它的信息,否則,重定向至Facebook登錄頁面,允許訪問。
它完全脫機,但在網上,我收到了鍍鉻的錯誤:
This webpage has a redirect loop
The webpage at https://www.facebook.com/dialog/oauth?client_id=209633612480053&redirect_uri=http%3A%2F%2Fwww.bluward.com%2Foauth%2Ffacebook&state=551f60cd4be6cd8ed1622f8168a5219a#_=_ has resulted in too many redirects. Clearing your cookies for this site or allowing third-party cookies may fix the problem. If not, it is possibly a server configuration issue and not a problem with your computer.
一些額外的信息:在網上,我用的1and1主機商,並確保有比脫機服務器相同的服務器配置(這是一個MAMP Pro),我上傳了sams php.ini文件。
如果有人有想法,或者得到類似的問題,我很樂意提供幫助。
非常感謝您的幫助。
UPDATE:
我更新了我的代碼,把重點放在問題的行,所以不是重定向至Facebook登錄頁面,我顯示重定向URL,所以我只需要點擊登錄:
$uid = $facebook->getUser();
if($uid)
{
/*
* Get user information.
*/
$user = $facebook->api('me/');
print_r($user); // Display user info.
}
else
{
/*
* Redirect to FB login URL to allow access.
*/
$loginURL = $facebook->getLoginURL();
echo $loginURL; // <-- HERE I CHANGED THE CODE TO DISPLAY LOGIN URL
}
我注意到的是,Facebook無限重定向到我的腳本頁面。網址欄上只有code
參數發生變化。
那麼,爲什麼facebbok重定向到我的腳本頁面而沒有給我用戶信息?
請問,有什麼想法嗎?
您是否在瀏覽器中啓用了Cookie? – AlphaMale
當然可以。我使用允許設置本地數據的設置(推薦)。 – htaidirt
然後很奇怪。在$ loginURL = $ facebook-> getLoginURL()後放置一個出口;然後更新它是否仍然重定向。 – AlphaMale