扫码登录实现原理剖析和图解教程 All In One
扫码登录实现原理剖析和图解教程 All In One
二维码扫描登录是什么原理?
登录做两件事
1、告诉系统我是谁;
2、向系统证明我是谁;
二维码其实是字符串的图片表现形式
基于 token的认证机制
1、首次登录客户端向服务器传送密码+设备信息进行认证;
2、服务端认证通过后,生成 token与设备信息进行对应,并存储在服务端并将 token回传到客户端;
3、客户端每次访问API时,需要携带 token+设备信息作为验证信息;
4、服务端验证 token+设备信息是否对应,验证通过后,返回API响应,验证不通过,拒绝服务;
特别注意:token是某个客户端私有的,即使有 token,没有对应的设备信息,也是验证不通过的
二维码登录原理主要基于 token的认证机制+二维码状态变化实现
1、二维码状态有三种:待扫描、已扫描待确认、已确认;
2、待扫描: PC端携带设备信息向服务端发送请求,服务端生成二维码ID与设备信息进行绑定,将二维码ID返回给 PC端, PC端已二维码的形式显示二维码;
3、PC端通过轮询的方式向服务端查询二维码的状态是否发生变化;
4、移动端扫描 PC端二维码,获取到二维码ID,移动端带二维码ID+移动端身份信息(token)发送给服务端,服务端验证身份信息通过后,将二维码ID与身份信息绑定,并生成临时 token返回给移动端,二维码状态变为已扫描待确认;
5、移动端确认登录,并携带临时 token请求服务端,服务端验证临时 token通过后,改变二维码状态为已确认并生成 PC token,PC端通过轮询知二维码状态.当为已确认状态时,返回 PC token,后续PC端通过 token可以返回 API;
图解教程
https://time.geekbang.org/dailylesson/detail/100044032
blogs
扫码登录原理
https://blog.dbnuo.com/20200331/sr94ua.html#more
refs
©xgqfrms 2012-2020
www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!
原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!
本文首发于博客园,作者:xgqfrms,原文链接:https://www.cnblogs.com/xgqfrms/p/12642835.html
未经授权禁止转载,违者必究!