2013-11-25 115 views
0

我有一個工作Facebook登錄的網站。Facebook登錄重定向問題

當用戶第一次訪問本網站時(或清除cookie後)會發生此問題。

用戶流程如下:

  1. 用戶點擊「註冊與Facebook」
  2. 用戶被重定向到Facebook的身份驗證
  3. 如果用戶接受,他/她將被重定向到「登錄向上「頁面。

的問題是,如果這個人是這樣做的第一次,他們總是重定向到主頁

只有2可以爲這個網址

  1. 的會員註冊頁面給予可能的觀點,只有發送某種形式的數據作爲參數
  2. 在成功DB持久性的警告框

因此,我排除了PHP作爲重定向的可能原因。

我已經包含管理Facebook交互的JavaScript。

所有其他相關的代碼可以在頁面的HTML中找到。

頁可以在http://trioisrael.com

function fb_login(){ 
    FB.login(function(response) { 

     if (response.authResponse) { 
      window.location = "http://trioisrael.com/signup" 
      //console.log(response); // dump complete info 
      access_token = response.authResponse.accessToken; //get access token 
      user_id = response.authResponse.userID; //get FB UID 

      FB.api('/me', function(response) { 
       user_email = response.email; //get user email 
       // you can store this data into your database 
      }); 

     } else { 
      //user hit cancel button 
      alert('We use facebook to make sure that everyone is really who they say they are'); 

     } 
    }, { 
     scope: 'user_photos,user_birthday' 
    }); 
} 
+0

嘗試在爲window.location分配一個新值(當然應該是window.location.href)後做更多的事情沒有任何意義。 – CBroe

+0

@CBroe - 我不想在重定向後做任何事情。 Facebook在其服務器上進行身份驗證,然後發回一些加密的用戶數據。然後我的網頁檢查他們是否已登錄並允許他們繼續使用該表單。問題是他們沒有立即被認爲是第一次嘗試登錄。他們被重定向到主頁,點擊鏈接並獲得授權。 –

+0

當然,您正在嘗試這樣做,因爲您在window.location行後面有更多代碼。 – CBroe

回答

1

試圖分配一個新值window.location(這應該是window.location.href,當然)沒有意義後做額外的東西被發現。

如果您想在登錄後執行其他操作,請在執行之前執行將用戶重定向到其他位置。