版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_25814003/article/details/80014528

Java扫码登录原理

一、博主自言

最近公司项目中遇到了,发现不少朋友都对这个不了解,正好自己也对这感兴趣。所以就研究了下。

扫码登录技术觉得是不错的干货。就分享给打大家了。希望会对大家有所帮助,欢迎留言提问。

PS文章底部是我的代码下载链接,大家可以自行下载。

二、原理简介

流程图

1、进入网站-生成UUID

2、跳转到二维码页面(二维码的生成与UUID关联)

3、二维码页面写一个js,自动请求服务器查询二维码是否被扫

4、服务器收到请求,查询,如果还没被扫,进入等待,先不返回结果

5、手机APP扫码,会向后台发送请求,改变uuid有关的状态,这样服务器就会接受到请求。

6、一旦被扫,立即返回结果,页面js收到响应,做后续处理

通过流程图和我的原理要点,相信大家对扫码登录原理有了差不多的认识了。

三、主要代码实现

工具

        主要用的了zxing(后台生成二维码要用的jar包)。

其他就是最基本的 jquery 之类的了,这些相信大家项目中都有。

代码实现

生成UUID

生成二维码页面部分以及页面JS

Js请求服务器查询是否被扫

后台通过zxing生成二维码

其中会用到两个对象 一个是用来多线程缓存的PoolCache 一个是用来状态赋值的ScanPool

                        

ScanPool

                

查询是否被扫描

被成功扫描后

基本上主要的代码就是上面那些了。

四、备注赠言

关于包的引用

POM.xml文件中,不能少以下两个包的引用

五、实际优化

        关于缓存状态这一块可以用redis去优化,这里我就不实际叙述了。

附上地址,可以直接运行。项目下下来放入ide,直接run App.java

 代码下载链接:

      https://download.csdn.net/download/qq_25814003/10362610

Java扫码登录原理相关推荐

  1. 网络基础12 二维码扫码登录原理

    文章目录 扫码登陆原理 浏览器打开登陆页面 (1)请求二维码 (2)通过轮询建立『长连接』 (3)其他操作 手机扫描二维码 手机确认登陆 登陆流程图 疑惑 参考 扫码登陆原理 以微信网页版为例,看一下 ...

  2. 微信扫码登录的几秒钟里,到底发生了什么(扫码登录原理)

    事情经过 这天中午,小A吃完午饭,摊在自己的躺椅上,想趁吃饱喝足的午后时间静静享受独自的静谧. 干点什么好呢?小A单手操作鼠标打开了一个陌生而隐秘的网站.正开着某个视频起劲,突然浏览器弹出了一个对话框 ...

  3. 扫码登录原理+代码解析+完整dome

    1.引言 扫码登录这个功能,最早应该是微信的PC端开始搞,不得不说还是很神奇的. 本文将简要的介绍扫码登录功能的技术实现逻辑 一.基本技术原理 a. 扫码登录功能到底是什么样的? 首先介绍下什么是扫码 ...

  4. 微信扫码登录网页实现原理

    扫码登录操作过程 浏览器输入:https://wx.qq.com/?lang=zh_CN 手机登录微信,利用"扫一扫"功能扫描网页上的二维码 手机扫描成功后,提示"登录网 ...

  5. (转)微信扫码登录网页实现原理

    扫码登录操作过程 浏览器输入:https://wx.qq.com/?lang=zh_CN 手机登录微信,利用"扫一扫"功能扫描网页上的二维码 手机扫描成功后,提示"登录网 ...

  6. 二维码扫码登录的原理

    二维码登录的本质 二维码登录本质上也是一种登录认证方式.既然是登录认证,要做的也就两件事情! 告诉系统我是谁 向系统证明我是谁 比如账号密码登录,账号就是告诉系统我是谁, 密码就是向系统证明我是谁; ...

  7. spring boot 自动跳转登录页面_徒手撸一个扫码登录示例工程

    徒手撸一个扫码登录示例工程 不知道是不是微信的原因,现在出现扫码登录的场景越来越多了,作为一个有追求.有理想新四好码农,当然得紧跟时代的潮流,得徒手撸一个以儆效尤 本篇示例工程,主要用到以下技术栈 q ...

  8. SpringBoot实现扫码登录

    文章目录 一.概述 1.扫码登录介绍 2.扫码登录原理 二.扫码登录实战(轮询版) 1.环境准备 2.RedisTemplate序列化 3.Token工具类 4.定义扫码状态 5.定义返回类 6.定义 ...

  9. 微信公众号开发(4)-实现PC扫码登录

    一.PC微信扫码登录原理简介 PC端调用微信服务端的ticket接口,微信服务端获取ticket,PC端拿到ticket之后,生成带参数登录二维码,用户扫码之后会发送扫码事件消息到微信服务端,这个消息 ...

  10. 一篇文章,带你了解微信扫码登录

    文章目录 前言 一.功能背景 二.扫码登录原理 1.基本原理 三.实现效果图 1.登录页 2.点击微信账号登录 3.已绑定微信的账号 4.未绑定微信号的账号 四.代码实现 1.准备工作 2.编写代码 ...

最新文章

  1. html怎么查看cad文件,如何直接查看CAD格式的图纸
  2. 网站压力测试工具webbench简介、安装、使用
  3. Nplayer本地文件拷到服务器,手把手教你简易NAS构建,手机/平板/智能电视随意调取,家庭存储云共享,有了自己的网络云盘后再也不用担心容量不够了!...
  4. 【C++ STL学习之四】容器list深入学习
  5. mysql memory优点_MySQL Memory存储引擎:优势及性能测试
  6. 【Cite 1.7K】Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour
  7. Hyperledger fabric v2.3 通道channel 翻译
  8. python中文近义词工具_python根据词条生成同义词库
  9. axure android 原型设计工具,知乎和Quora高分APP原型设计工具推荐
  10. 【建模算法】基于遗传算法求解TSP问题(Python实现)
  11. php复姓怎么排序,按姓氏笔画排名怎么排列了
  12. 用c语言实现基本数据结构(图)
  13. 傲梅分区助手损害大吗_【分区助手技术员v9.00】磁盘分区工具,很好用!
  14. LeeCode 130 DFS
  15. 苹果手机网页上点击数字可能拨打电话的解决办法
  16. 微软手环2服务器,微软手环2评测 数据狂的最爱
  17. 叶片静频测量方法理论基础(自振法上)
  18. 视频教程-NodeJs零基础到实战项目-Node.js
  19. 为什么要认真准备Java面试,编程语言排行榜告诉你
  20. vscode文件飘红色波浪线

热门文章

  1. 对数周期天线hfss建模_07 HFSS软件二次开发在对数周期天线设计中的应用
  2. java中ftl什么文件_.ftl文件 是什么文件 freemarker
  3. pcie总线与cpci总线_PCI和CPCI
  4. CAN应用层常用协议
  5. PHP之阿里云短信接口接入
  6. ubuntu18.04安装有道词典等常用软件
  7. svn服务器调整显示图标修改,svn图标不显示可以通过调整Tortoise图标名称的字母顺序来解决...
  8. 熊逸《唐诗50讲》感时篇 - 学习笔记与感想
  9. 基于Python和selenium 获取 公开的搜狐汽车 数据
  10. json字符串转对象+解析淘口令生成新淘口令