支持多种登录方式的用户表设计
支持多种登录方式的用户表设计
最原始的用户登录,user表
user_id
username
password
用户数据
1
xxxx
123456
用户数据
2
yyyy
123456
用户数据
select * from user where user = :user and password = :password
搞定了
如果要加入微信登录如何破
加三个字段?
user_id
username
password
wechat_id
wechat_access_token
wechat_expires
1
xxxx
123456
sasdada
qwerty
00000000
再添加qq登录呢?再加三个字段,显然是要累死人的
靠谱的做法
用户信息和登录分开,登录分为本地登录和第三方登录
user表
user_id
用户数据
1
用户数据
2
用户数据
本地登录表
user_id
username
password
1
xxxx
123456
2
yyyy
123456
第三方OAuth登录表
id
user_id
oauth_name
oauth_id
oauth_access_token
oauth_expires
1
A1
weibo
W...