当前位置:网站首页>扫码登录的原理你真的了解吗?

扫码登录的原理你真的了解吗?

2022-04-23 16:40:00 Always--Learning

为什么要了解扫码登录的原理?

通过扫面二维码进行登录已经成为了一种常见的登录方式,这种方式可以在不输入用户名和密码的情况下快速的实现登录,其背后涉及到PC端、移动端和服务端三者之间的交互,无论是对前端开发者还是后端开发者而言,掌握了扫码登录的原理都可以很好的帮助我们设计一套登录机制为我们自己的应用服务。

扫码登录的主要阶段

阶段1:待扫描阶段

待扫描阶段是PC端和服务端交互的过程,主要包括以下几个步骤:

  1. PC端携带着自身的设备信息,向服务端发送一个请求获取二维码信息。
  2. 服务端生成一个唯一的二维码ID,并与这个设备进行绑定。
  3. 服务端向PC端返回二维码ID。
  4. PC端根据二维码ID展示出二维码供移动端扫描。
  5. PC端启动一个定时器,向服务端定时轮询,查询二维码的状态,是否被扫描,如果一段时间未被扫描的话,二维码就会失效。

阶段2:已扫描待确认阶段

这个阶段主要是移动端和服务端的交互过程,主要包括以下几个步骤:

  1. 移动端扫描二维码,获取二维码ID。
  2. 移动端将自己的身份信息token,和扫描到的二维码信息发送给服务端。
  3. 服务端将二维码ID和身份信息进行绑定,生成临时token。
  4. 服务端将临时token返回给移动端。这个临时token可以用作确认登录的凭证。
  5. PC端会轮询二维码的状态,将二维码的状态更新为待确认。

阶段3:已确认阶段

已确认阶段主要包括以下几个步骤:

  1. 移动端携带临时token,确认登录。
  2. 服务端收到临时token后,经过验证后,会更改二维码的状态为已确认,然后生成PC端token。
  3. PC端会轮询二维码的状态,并更改为已确认。
  4. 服务端向PC端发送二维码状态和PC端token。
  5. PC端凭借PC端token访问服务端API。

整体流程图

image.png

版权声明
本文为[Always--Learning]所创,转载请带上原文链接,感谢
https://jiapy.blog.csdn.net/article/details/124358680