2011-11-05 26 views
0

在網站上,會有兩種登錄方式 - Facebook登錄或網站標準登錄。Dertermine如果用戶使用Facebook或網站登錄登錄?

什麼是正確的方式來確定用戶登錄Facebook或網站登錄?

我想在users表中添加一個名爲login_type的字段。

值將是「臉譜」或「標準」

如果用戶通過Facebook登錄然後login_type值存儲在會話類似$_SESSION['login_type'] = "facebook";

但是,如果用戶想要註銷,我們需要確保執行Facebook註銷功能。

這樣的事情?

logout.php

if ($_SESSION['login_type'] == "facebook") { 
    $facebook->getLogoutUrl() 
    //execute the url to CURL? 
    header("LOCATION: index.php"); 
} 

回答

2
  1. 添加一個字段爲Facebook用戶ID用戶表(例如fb_id)
  2. 當通過Facebook在用戶登錄你做同樣的事情你會在「正常」登錄過程中做 - 但不是檢查用戶名/密碼,你會檢查Facebook的身份證/有效訪問令牌
  3. 在此之後,你可以通過他的會話驗證用戶。你不必關心Facebook登錄。
  4. 在註銷時會殺死自己的會話等,然後您可能會重定向到Facebook註銷URL,Facebook會殺死他們的會話內容。你無法真正蜷縮,因爲你不會得到facebook.com的cookies。 ;)這樣做也會將用戶登錄到Facebook上,這對他來說可能很煩人。

P.S .:要清楚約4:如果您的應用程序運行在Facebook以外,您必須在用戶從應用程序/網站註銷時將其登出Facebook。見I.6。在https://developers.facebook.com/policy/#policies