注册登录相关

一 表结构的设计

A 不需要记录第三方的个性化字段信息

1- 用户基础信息表(id , 姓名 , 头像)

2- 用户账号表(id , 用户表id, 三方平台类型,三方唯一uid, 密码(站内=密码,站外=access-token))

这样设计的好处,在于可以无限接入很多三方平台,并且满足一个用户可以有多个三方平台的账号

B 需要记录详细的三方平台的信息

1- 用户基础信息表(id , 姓名 , 头像)

2- 三方表--微信(id,微信id,用户表id, 微信个性化字段.....)

3- 三方表--微博(id,微博id,用户表id, 微博个性化字段.....)

这样的好处就是,可以将数据量自动分表,但是查询该用户所有的三方账号的时候,需要遍历所有的表,或者建立一张一对多的中间表 (用户表id, 三方类型(用于确定到哪张表查数据),三方uid)

二  关于注册

每一个注册之前都要判断该账号是否已经注册过呢(有注册过可以提示是否与账号做绑定?已经绑定别的账号的则提示用该账号登录)

1- 手机验证码注册 (需要验证码确认)并设置站内密码

a- 获取验证码:生成验证码--》存放MQ---》发送短信---- --- 返回前台ok

b- 验证手机号 + 验证码 是否正确? 正确则新增用户信息

2- 账号注册(需要绑定手机号或者邮箱,用于找回密码)

3- 邮箱注册(需要验证邮件) 并设置站内密码

4- 三方账号注册(常用吗?) 并设置access-token作为密码

获取三方授权,记录用户的三方信息,此时需要用三方信息中的手机号生成用户信息表记录吗?

三 关于登录

1-账号登陆

2- 邮箱登陆

3- 验证码登录,(若发现没有注册,是首次登录,后台直接注册)

4- 三方登录(若发现没有注册,是首次登录,后台直接注册;如果不是首次登录,需要用最新的三方信息更新已保存的三方信息!!!)

四 关于登出

将redis的token注销掉

五 关于注销

验证手机 --》提示是否接触邮箱、三方等绑定信息? ------是----》 删除2张表的所有记录

一般不会提供注销功能,尽可能保留用户的数据

六 绑定与解绑

登录状态的用户可以绑定邮箱(需要验证),手机(需要验证)三方(需要获得授权)

六 修改密码、忘记密码

需要验证手机、邮箱等,重设置密码

猜你喜欢

转载自www.cnblogs.com/domi22/p/10843520.html