- 密码懒得输,扫码来解决
- 扫码登录是个很普通的需求,下面分析下扫码登录的整个流程
1.流程梳理
- 扫码用的是二维码介绍
二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。
网络异常,图片无法展示
|
- 1.1登录选择扫码登录,这时候会携带一些设备信息向服务端发送请求,获取一个唯一的ID生成二维码
- 1.2手机端是登录状态的,这时候扫码获取到了唯一的ID
- 1.3手机获取了唯一的ID然后登录确认发到后台用户和这个ID绑定
- 1.4前端轮询请求后台这个id的,服务端发现绑定后就可以直接登录了
- 1.5默认都是https访问的,PC端获取的唯一ID有时效性存在的
2.例子简单介绍
- 这个是腾讯云的扫码登录,可以看出前端再轮询请求后台
网络异常,图片无法展示
|
- 从请求内容看可以看到携带了一个token
cloud.tencent.com/login/query…
- 未登录的相应数据
网络异常,图片无法展示
|
- 超时未相应
网络异常,图片无法展示
|
- 扫描成功 返回状态发生了改变
网络异常,图片无法展示
|
网络异常,图片无法展示
|
3.二维码的生成和解析
- 包引入
maven最新包。
生产、解析二维码网上代码很多的
<dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.4.1</version> </dependency> <dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.4.1</version> </dependency>