二维码登录实际上和用户名密码登录要做的事情一致,账号告诉服务器「我是谁?」,密码是向服务器证明「我是我」。扫码也是一样。

下图是一个基础的客户端账号密码认证过程:

然后想一下二维码登陆时的场景:

二维码分为三个状态,展示二维码、扫码成功待确认、成功登录。

步骤:
1.用户打开网页端二维码,此时二维码会生成一个特有的id标记
2.服务端和二维码会有一个轮询策略,不停询问网页端是否拿到token
3.用户拿着手机打开二维码,会生成一个临时token。
4.当用户扫描二维码,确认登录,会将临时token与二维码id传到服务器
5.轮询策略查出服务器有与客户端id一致,且token通过非对称加密解析到数据
6.登录成功

为什么要有token?

重点是解决非同一设备的双方如何协同进行认证。双方如果有一方是假的,那信息就会泄露给假的那一方,这也是早期QQ盗号的方法之一,做一个和官方一样的假页面,你在里面输入账号密码,你以为你登录的是官方,其实信息已经发给制作这个假网页的人了。这个过程之所以复杂,是因为进行了多次的跨设备信息传输,过程中为了保障安全,每一个请求都要携带加密过的token,否则被拦截之后,别人就可以拿着这个token去和你做相同的请求,实现把你的账号登录在他的设备上的操作。

扫描二维码登录的过程?相关推荐

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

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

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

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

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

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

  4. 图示扫描二维码登录原理

    想要了解手机端扫描二维码登录原理,首先我们要了解二维码和token认证机制两个内容,接下来我们将用图示的方法来直观感受这个面试时候的paper tiger. (第一次用visio画图,用熟练之后就感觉 ...

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

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

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

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

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

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

  8. 对于扫描二维码登录账号的一些理解

    首先二维码中的信息其实就是一个服务器的链接以及一个唯一的UUID, 在扫码登陆时,首先是浏览器生成一个二维码,然后手机扫描二维码获得访问服务器的一个链接以及UUID,然后手机会访问服务器并携带UUID ...

  9. Android安卓开发集成微信第三方扫描二维码登录-超级无敌具详细

    Android安卓开发中集成微信二维码登录的步骤: 写在前面的: 该教程使用AS作为演示,使用ecplise请参照微信官方文档下载相应jar等所需参考文档和资源.在最后,我会附上这个Activity的 ...

最新文章

  1. 2022-2028年全球与中国生物质燃料粒行业市场智研瞻分析报告
  2. JSP 日期处理概述
  3. 在PHP中2中特殊数据类型是,@PHP中的数据类型(2)
  4. Guava学习笔记(四):复写的Object常用方法
  5. 计算机二级黑板板书书写,清华老师们的板书惊艳朋友圈!8个板书技巧让黑板亮起来!...
  6. 相关系数显著性检验以及Python实例
  7. Netty权威指南 第2版
  8. etal斜体吗 参考文献_期刊论文的参考文献格式
  9. 密室逃脱线上如何精准获客?
  10. 【生活随笔】研究生如何学习
  11. VCS建立仿真生成DVE波形
  12. 05月11日三支有望飙涨股与操盘策略分析
  13. 虚拟服务器配置了打不开,虚拟主机机打不开网站
  14. python-基于yagmail库开发自动邮件发送程序
  15. 3.1_28_4 JDK8新特性【Date】之ZoneId 时区信息
  16. python中正负号怎么表示_[转载]python中整数除法的正负号
  17. Maven projects need to be imported!
  18. 因果推理(causal inference)中的ATT和ATE有什么区别?
  19. 《富兰克林自传》修身
  20. 2019款奔驰E级:三次改款上市,奔驰到底在做什么?

热门文章

  1. 数据结构:直接插入排序 希尔排序 选择排序 堆排序 冒泡排序 快速排序 归并排序
  2. 计算机三级数据库考试题型,计算机三级《数据库技术》考试试题与答案
  3. 【教学类-22-02】20221210《八款字体的描字帖-4*4格整张-不用订书机》(大班主题《我是中国人-中国字》)
  4. 【Leetcode】487. Max Consecutive Ones II
  5. 5V的LDO电源的WCCA分析-可靠性分析计算过程
  6. go gin下配置https
  7. dll文件丢失了怎么恢复最为快捷?dll文件丢失为啥什么软件都打不开了?
  8. MQTT.fx客户端的安装及开始
  9. 自动修复.dll文件异常
  10. 恶意取款被判无期是中国软件的悲哀(转)