二维码扫描登录流程

175 阅读1分钟

我拿微博登录进行了调试,如下流程

1. 选择二维码登录方式

pc会向服务端发送一个请求,获取一个二维码图片和一个id信息

image.png

2. 生成二维码之后

pc会轮询向服务端发送请求,获取二维码当前的状态

image.png

  • 二维码未被扫描之前,返回状态未使用 image.png

  • 二维码被扫描之后,状态改变 image.png

3. 客户端扫描二维码

客户端扫描二维码之后,会携带扫描的二维码信息和客户端的登录信息,向服务端发送请求,将两者相关联,并得到一个临时token(只能使用一次,为了保证扫描和确认的是同一个机器)

image.png

4. 客户端点击确认

客户端点击确认后,会携带上一步的token发送请求

image.png

5. 服务端生成PC使用token

PC端轮询得到已确认登录,并且拿到登录信息,刷新页面状态

另外 二维码如果超过一段时间未被扫描或者确认登录,会失效