app登陆,注册,第三方登陆数据设计及业务流程 您所在的位置:网站首页 账号注册登录流程图 app登陆,注册,第三方登陆数据设计及业务流程

app登陆,注册,第三方登陆数据设计及业务流程

2024-05-29 23:04| 来源: 网络整理| 查看: 265

本片文章主要讲解一下,登陆的三种方式,以及数据库的设计和业务流程的设计。

一、前期准备

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 实验室设备网 版权所有