想要了解手机端扫描二维码登录原理,首先我们要了解二维码和token认证机制两个内容,接下来我们将用图示的方法来直观感受这个面试时候的paper tiger。

(第一次用visio画图,用熟练之后就感觉这工具挺方便也有利于梳理流程)

学习路线:

  • what is 二维码?
  • 移动端的token认证机制
  • 扫描二维码登录原理

No.1 what is 二维码?

二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。

                                                ----来自百度百科

在此,我利用草料二维码生成器来进行展示二维码的分类与可携带的信息。


No.2 移动端的token认证机制

值得注意的是,手机端首次登录的时候,输入的不仅仅是账号密码,还有他的设备信息。 当服务器端检测到手机端所发送来的账号密码无误之后将会做以下几项工作:

  • 将设备与账号关联起来,这样的话某种意义上来说设备就相当于账号
  • 生成token,并且将token与设备和账号关联起来,形成一对key-value, 其中token是key,设备与账号是value。

这样可以有效防止每次重复输入账号密码的时候被劫持。在此后的登陆中,服务器端通过识别token来登录,当token也被挟持之后,服务器端还可以通过设备来进行试别。毕竟设备是唯一的。

No.3 扫描二维码登录原理

我们拿QQ的登录为例子来描述一下这个阶段:

1.等待扫描阶段(1~4步骤)
2.扫描之后待确认(5~9阶段)


3.确认并返回PC端token界面(10~end())


到此,二维码扫描登录原理就差不多了,原理简单但是实现起来还是有一定的难度,欢迎各位大佬多多补充。

原创不易,请点个赞再走吧,嘿嘿

图示扫描二维码登录原理相关推荐

  1. 浅谈扫描二维码登录微信网页版与摇一摇传图的实现原理

    前言:简单体验了下微信网页版通过二维码登录和摇一摇传图功能,从技术角度看,网上专家吹捧的 [隔空取物]其实并不神秘,我先简单分析一下. 1. 微信移动端扫描二维码登录(C-S-C模式) CSC模式为: ...

  2. 微信QQ的二维码登录原理js代码解析

    这篇文章主要大家详细解析了微信QQ的二维码登录原理js代码, 具有一定的参考价值,感兴趣的小伙伴们可以参考一下 在很多地方就是都出现了使用二维码登录,二维码付款,二维码账户等应用(这里的二维码种马,诈 ...

  3. 随机字符串解决大问题之腾讯网如何实现手机扫描二维码登录qq功能的

    随机字符串解决大问题之腾讯网如何实现手机扫描二维码登录qq功能的 腾讯网(www.qq.com)有一个扫码登录功能很有意思, 点击首页一键登录按钮,就会展现一个二维码,用手机qq扫描此二维码就可以使当 ...

  4. 二维码登录原理及生成与解析

    一.前言 这几天在研究二维码的扫码登录.初来乍到,还有好多东西不懂.在网上看到有人写了一些通过QRCode或者Zxing实现二维码的生成和解码.一时兴起,决定自己亲手试一试.本人是通过QRCode实现 ...

  5. 百度网盘PC端扫描二维码登录时无法加载二维码问题解决方法

    问题: 今天在PC端扫描登录百度网盘时,二维码无法加载出来,具体情况如图: 解决方法: 1.打开IE浏览器 2.打开工具 3.打开Internet选项 4.打开高级选项,重置IE设置 5.点击确定,打 ...

  6. 电脑版和手机版QQ都要手机版QQ扫描二维码登录?

    是的,电脑版和手机版 QQ 都需要使用手机版 QQ 扫描二维码登录.这是因为扫描二维码登录是 QQ 的安全认证方式之一.

  7. 网页扫描二维码登录页面的原理(通俗、易懂)

    我的理解是: 二维码登录网页的基本原理是,用户进入登陆网页后,服务器生成一个uid来唯一标识一个用户,每一次刷新uid都会变换,保证一个uid绑定 一个账号和密码,同时游览器与服务器创建一个长链接,用 ...

  8. 微信扫描二维码登录第三方平台

    嗯...... 最近做了一个微信扫码登陆第三方平台功能,说下步骤就行,反正原理你们网上直接百度,我这里写了,估计也没几个人有耐心看 第一步 生成一个链接 https://open.weixin.qq. ...

  9. 形象理解二维码登录原理

    之前在极客时间看到一个介绍二维码登录的原理,这里写篇文章记录一下.二维码是我们日常生活中随处可见,支付扫码,登录扫码,添加好友扫码,或者查看某些内容也需要扫码.今天分享一下二维码背后的技术和逻辑,并且 ...

最新文章

  1. CMake 条件判断
  2. python3 base64 长度补全
  3. ubuntu查看python版本-linux查看python安装路径,版本号
  4. 用cascade删除有约束的表或记录
  5. CentOS SVN安装与配置 (RHEL5.4平台测试通过)
  6. 11个强大的Visual Studio调试小技巧
  7. bash參考手冊之六(Bash特性)
  8. SQL-Server使用点滴(一-数据对象篇)
  9. [SpecialJudge]构造“神秘“字符串(洛谷P3742题题解,Java语言描述)
  10. java+登录window域认证网页_Java 如何用 token 做用户登录认证
  11. 创建、删除swap分区
  12. 最全iOS数据存储方法介绍:FMDB,SQLite3 ,Core Data,Plist,Preference偏好设置,NSKeyedArchiver归档...
  13. ReactNative Ios打包流程
  14. html3d转换浏览器设定,R:使用rgl生成可以在Web浏览器中查看的3d可旋转图形?
  15. 飞鱼星路由器端口映射/端口转发的设置步骤及注意事项
  16. Spring Boot系列 —(一)手把手搭建 SpringBoot 项目
  17. Apache+PHP+VC14环境搭建及测试
  18. OKCC外呼中心为什么要把语音引入WEB中?
  19. linux系统vim下换行输入_vim 中输入特殊字符回车符号('\r')
  20. 学计算机会不会做ppt,学习计算机心得与体会.ppt

热门文章

  1. Fedora24!到此一游
  2. android手机助手源代码,IOS Android 手机助手原理以及源码(cmake 构建)
  3. springboot+flyway+oracle11g+mysql8 整合包
  4. 卡尔曼滤波详解:一维卡尔曼滤波实例解析(五个公式以及各个参数的意义)
  5. Linux网络服务之——DHCP篇
  6. C# 串口SerialPort方法详解
  7. 某学校监控教学RTMP多平台推流直播方案
  8. XDS100V3-DIY
  9. 嵌入式Linux-Qt环境搭建
  10. php每天定时提醒,PHP怎么实现定时提醒功能?