app登陆,注册,第三方登陆数据设计及业务流程 | 您所在的位置:网站首页 › 账号注册登录流程图 › app登陆,注册,第三方登陆数据设计及业务流程 |
本片文章主要讲解一下,登陆的三种方式,以及数据库的设计和业务流程的设计。 一、前期准备1. 如果要支持短信验证码登陆:需要注册第三方短信平台,并研究其集成接口。 2. 如果要支持第三方登陆(如QQ,微信,微博等):需要到对应的开放平台进行注册,客户端可以自己根据对应平台的集成接口进行处理,也可以用一些第三方平台,如友盟 二、数据库设计 1.用户基础信息表user_bases 字段名 描述 id 用户id,自增 username 用户名 password 密码 email 电子邮箱 phone 手机号 nickname 昵称 ... 更多的基础信息 2.用户认证信息表user_auths(如果不涉及第三方登陆,不用创建这个表) 字段名 描述 id 自增 uid 关联用户user_bases的id third_key 三方登陆唯一标识 third_type 三方登陆类型(例如wx:微信,qq:QQ登陆,wb:微博) 3. 说明3.1 说一说登陆的具体处理 (1)用户名、手机号、email+密码登陆: 直接调用接口,传递账户名和密码,在user_bases表中查询并匹配password(password需要做加密处理)(2)手机号+短信验证码登陆,分为两步: a.发送验证码接口:客户端:调用发送验证码接口,携带手机号码。后台:调用第三方短信平台接口,返回验证码保存到redis中,并添加时效。 b.客户端收到短信验证码后填写,调用验证码登陆接口:首先验证验证码,正确的话再根据手机号查询用户信息。(3)第三方登陆: a.客户端首先调用三方平台提供的接口:返回唯一标识及用户信息(昵称,头像等)。 b.调用后台提供的三方登陆接口(携带上步返回的数据): 首先需要在user_auths表中查询third_key是否存在唯一标识,有:说明已经创建了用户,没有:未创建。 未创建时需要在user_auths中插入一条数据,然后再在user_auths中插入一条数据。3.2 说一说一个账号绑定多个三方账号的具体处理 绑定多个三方账号的前提是:已存在一个账号。这样绑定三方账号时,只需在user_auths中插入一条数据即可(对应已存在的那个账号),这样就实现了一对多的关系。具体看下实现: users | id | username | password | email | phone | nickname | ... | 1 | qaz123 |124568 |... |1523652.. | 张三 | ... | 2 | lijds963 |985236 |... |1856321.. | 李四 | ... user_auths | id | uid | third_key |third_type|... | 1 | 1 |*********** |weixin |... | 2 | 1 |*********** |qq |... | 3 | 2 |*********** |weixin |... | 4 | 2 |*********** |qq |... | 5 | 1 |*********** |weibo |... 三、时序图,业务流程下图为三种登陆方式的时序图: 登陆时序图.png 四、涉及到的接口用户名、手机号、email+密码登陆: (1)用户名、手机号、email+密码登陆接口手机号+短信验证码登陆: (1)发送验证码接口 (2)调用第三方短信平台接口(后台直接与三方交互,与客户端无关) (3)手机号+验证码登陆接口三方登陆: (1)通过三方提供的接口获取唯一标识和相关用户信息(客户端调用,与后台无关) (2)三方登陆接口注册 (1)手机号+验证码注册修改密码,绑定,解除绑定 (1)修改密码接口 (2)解除绑定,三方登陆接口 (3)绑定手机,三方登陆接口说明:有些朋友可能会将三种登陆接口做成一个接口,也不是不行,但个人感觉这样代码能显得更独立,实现解耦,也方便修改。 五、小结以上基本就能实现登陆,注册,验证码登陆,三方登陆,一绑多的需求。朋友们在看的时候,有什么问题可以随时评论。谢谢大家。 |
CopyRight 2018-2019 实验室设备网 版权所有 |