0%

二维码登录

时序图

二维码扫码登录

步骤

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
PC端
1、`pc端`请求`服务端`生成二维码,获取二维码id
4、"未扫描"状态下,`pc端`轮询`服务端`二维码状态,返回"已扫描"状态,显示等待用户在`移动端`确认
9、"已扫描"状态下,`pc端`轮询`服务端`二维码状态"已确认"状态,获取`服务端`返回的登录token,完成扫码登录

移动端
3、`移动端`扫描二维码获取`PC端`保存的二维码id
5、`移动端`调用服务端扫码接口传送`移动端`用户身份信息和二维码id
7、`移动端`调用服务端用户确认接口,传送临时token

服务端
2、接收pc端生成二维码的请求,绑定该pc终端信息并生成二维码id,状态“未扫描”
6、接收移动端扫码请求(app身份信息和二维码id),更改二维码状态为“已扫描”,返回临时token(保证之后的确认操作与扫描操作是同一设备)
8、接收移动端用户确认请求(临时token),修改二维码状态为“已确认”,根据`PC`的设备信息和`移动端`的用户信息生成用户的pc登录token

服务端接口
生成二维码接口,
入参:pc终端信息
返参:生成二维码id
扫码接口
入参:移动端身份信息、二维码id
返参:临时token(保证之后的确认操作与扫描操作是同一设备)
确认接口
入参:临时token、二维码id
返参:成功、失败
轮询状态接口
入参:二维码id
返参:二维码状态、
登录token(已确认状态返回)

前端二维码内容:二维码id或二维码id的一个url地址