表设计的疑问?
目前微信登录或者说第三方登录,是直接把 openid 和 unionid 作为新增字段加入到用户表中的,登录时直接拉起授权认证完成用户注册 + 登录,那么会出现一个问题。用户 web 端用手机注册了个账号,然后再用微信登录,那么此时这个用户在用户表中会有两条记录,一个是手机号 + 密码的记录,另一个是微信的 openid 的记录,对应两个不同的账号,并且不太好关联,目前没有关联字段,如果又用 QQ 登录、微博登录,那么这个用户就会产生一大堆的用户记录,每换一种登录方式都是另一个独立的账号,这样的表设计是否不太合理?是不是应该每一个第三方登录都应该新建一个表,以 user 表为主,比如给微信登录建一个微信表,用户依然是微信直接授权登录,但是可以通过绑定手机号的方式,与现有的 web 段的账号进行关联,以 user_id 字段为外键,关联之后,原本的微信获取的 nickname 等等直接废弃,以 user 表的信息为主,这样是不是可行的方案,只不过如果这样的话,其他很多接口估计都要改
推荐文章: