[英]Unified User Account with Multiple Social Logins/Signups Database Structure
[英]Best practice to create a database schema for Open Auth (Social logins)
我已經完成了用於用戶管理的數據庫架構及其角色和權限。 當我決定集成多個“ Open Auth”(例如Facebook登錄名,Google登錄名等)時,問題實際上就開始了。
我的數據庫表DB.USERS目前看起來像這樣:
id
oauth_id
username
email
password
remember_token
...firstname,lastname,etc...
目前的問題是,每當用戶嘗試通過OAuth之一(Google,Facebook)登錄並且已經收到一封電子郵件(通過oauths或應用程序的auth庫之一)時,就會觸發錯誤並且無法繼續。
我想知道為這種方法創建數據庫架構的最佳方法是什么? 任何人已經有經驗嗎?
我正在使用Laravel 4.2
完全正常的情況是,不同的社交登錄來源報告了相同的電子郵件地址。 首先,您需要回答一個問題-在這種情況下您想做什么?
如果您信任社交登錄名以報告有效的電子郵件地址,則只需將新的登錄名來源合並到現有帳戶中即可。
您還可以選擇為每個單獨的登錄源創建單獨的帳戶-在這種情況下,您應將電子郵件作為名稱類似地對待-無需唯一。 如果您想自己允許電子郵件和密碼登錄,這將是有問題的。
要考慮的另一個問題:
首先設計流程,然后使用合適的數據庫模式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.