专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

探究扫码登录

我们常见的登录方式有账号密码登录,手机号验证码登录等,其本质都在做两件事情:

1、 我是谁
2、 证明我是谁

账号&手机号是在表明“我是谁”,密码和验证码是在证明“我确实是谁”。

token的认证机制

1、 在登录时,客户端会向服务端传送账号&密码&设备信息进行认证
2、 服务端认证通过后,生成token(身份凭证)与设备信息进行绑定,并存储在服务端后将token回传给客户端
3、 客户端每次访问API时,需要携带token&设备信息作为验证信息
4、 服务端验证token通过后,返回API响应,否则请求失败

51_1.png

扫码登录原理

而通过扫描二维码进行登录认证,原理主要基于token的认证机制和二维码的状态变化实现。

在扫码过程中,二维码有着不同的状态

1、 待扫描
2、 已扫描待确认
3、 已确认

例如我们使用微信登录掘金

51_2.png

左边是待扫描状态,右边是已扫描待确认状态,第三种已确认时,掘金会进入登录验证步骤。

上图之后的就是手机端进行确认登录的操作

51_3.png

我们来探究下在这一过程中,服务端&客户端&PC端都做了什么?

1、 PC端打开微信登录页面时,会携带设备信息向服务端发送请求,服务端生成二维码ID与设备进行绑定,然后回传二维码ID给PC端,PC端以二维码的形式显示。此时二维码状态为待扫描
2、 PC端会通过轮询的方式向服务端查询二维码的状态是否发生了变化

51_4.png

3、 客户端打开微信扫一扫,扫描PC端二维码,会获取其中的二维码ID,然后客户端将二维码ID和客户端身份信息token发送给服务端,服务端将二维码ID与token绑定,并生成临时token返回客户端。此时二维码状态改变为已扫描待确认,PC端因轮询页面会随之改变。
4、 当客户端确认登录时,会将临时token传给服务端,服务端验证临时token通过后,改变二维码状态为已确认,并生成PCToken,PC端轮询二维码状态为已确认时,服务端会返回PCToken,后续PC端通过PCToken进行操作

临时token只会使用一次,之后就会失效

51_5.png

文章永久链接:https://tech.souyunku.com/31396

未经允许不得转载:搜云库技术团队 » 探究扫码登录

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们