1
我想創建一個類似於Stackoverflow的認證系統。在這種情況下建模1:1可選數據的最佳方式是什麼?
用戶可以使用我網站上的帳戶創建/登錄,或使用來自各個提供商的openid創建/登錄。
一個典型的模式可能看起來像:
Table: users
====================
id
email
password
date_created
Table: users_openids
====================
id
user_id
openid_url
這種模式的問題是,電子郵件/密碼是隻爲我的網站賬戶。
我在下面提出的模式是最佳的方式來做到這一點?
Table: users
====================
id
account_type_id
date_created
Table: account_types
====================
id
account (enum('mine','openid'))
Table: users_openids
====================
id
account_type_id
user_id
openid_url
Table: user_mine
====================
id
account_type_id
user_id
username
password
Table: user_attributes
====================
id
user_id
email
nickname
full_name
dob
gender
這似乎有點怪我,任何想法/批評/優化/建議將不勝感激。