2012-03-23 51 views
1

我想完成與this question幾乎相同的事情,即存儲來自多個來源(Facebook,Twitter ,LinkedIn,openID,我自己的網站等),以便一個人可以從任何/所有提到的提供商登錄到他們的賬戶。允許多個登錄機會(Facebook-Connect,Oauth,OpenID等)的數據庫模式爲同一個帳戶

唯一需要注意的是所有用戶數據都需要存儲在一張表中。

有什麼建議?

如果沒有做到這一點沒有乾淨方式,是它最好有噸列的所有的可能的登錄方法,或者創建額外的表來處理與外鍵與返回給用戶表中的登錄方法(如this answer中所述)?

回答

2

也許你想創建一個專用於帳戶類型的表格,以及一個實際用戶的表格。

假設您的用戶表中有每個用戶的auto_increment uinique ID。然後,您想要創建另一個表格示例:user_accounts(具有自己的auto_icnrement ID),另一個關係ID列(用戶表,第三個(或/和)第四個表用於帳戶類型/額外數據以用於身份驗證,如果需要的話)

然後,您可以插入每個帳戶類型爲每個用戶的記錄基本上它可能看起來像這樣:

user_accounts

| ID | User_ID | account_type  | authentication 
| 1 | 1  | facebook   | iamthecoolestfacebookerever 
| 2 | 1  | google    | mygoogleaccount 

在它的最簡單的形式,你可能會被存儲遠遠不同的數據。但是,希望你明白這一點。

相關問題