文档章节

二维码扫描登录

老牟
 老牟
发布于 2014/05/06 16:10
字数 554
阅读 3550
收藏 8
点赞 1
评论 1

下面介绍二维码扫描登录原理,

首先需要web服务端,和app客户端。

web服务端主要工作是生成二维码,检测客户端提交信息正确性,更新网页界面。

app客户端主要工作是扫描二维码,提交账户信息(此不是指提交用户名和密码),与服务端通信。

那么二维码扫描登录有什么优势呢?

1 简单快捷

   只需要app客户端扫描二维码,点击确认登录就完成登录了。

2 安全

   在与客户端通信过程中不提供用户名和密码信息,断绝了以往直接在PC端登录木马窃取用户账户密码的行为。

那么二维码扫描登录是怎么工作的呢?

1 web服务端需要生成了一个唯一KEY,代表此次用户的登录事件ID,跟你在京东买东西下单的单号差不多。

2 根据唯一KEY生成二维码信息,显示在网页上。

3 用户app扫描二维码,后通知服务端我已经扫描了二维码。

4 服务端接收消息后,更新网页提示说已经扫描,把唯一KEY加入将要登录列表,如果超时将会移除(相当于把单号状态改为待支付状态,超过24小时就会说下单失败)。

5 用户app端主动获取当前状态,如果唯一KEY没有超时或者没有异常,将会跳转到app端的确认登录页面。

6 用户点击确认登录后,与服务端通信,提交用户名和密码验证值(可以考虑其他方案)。

7 web服务端接收后,判断验证值是否与数据库的验证值匹配,如果匹配确认用户登录。

9 用户app端检测服务端返回值,处理当前返回状态,登录成功,失败。

 

© 著作权归作者所有

共有 人打赏支持
老牟
粉丝 13
博文 20
码字总数 8401
作品 0
成都
程序员
加载中

评论(1)

f
fengziiti
实现客户端扫码登录分为下列四步:
1.  Web页面生成二维码
生成的二维码中必须要包含一个用于唯一标识用户的数据,这个唯一标识是为了确保将客户端(手机)与web网页绑定,避免其他人登录了你的账号。在这里可以生成以个随机的guid作为唯一标识。
生成二维码,大家可以使用jQuery qrcode插件 (http://www.ideawu.net/blog/archives/795.html)。
2.  客户端扫描二维码
客户端在扫描二维码之前需要验证是否已经登录了账号,如果没有登录,则需要提示用户先登录。如果已经登录了,那么在扫描了二维码后应读取唯一标识guid并将sessionID一并发送给后台服务器(例如Java)。
3.  通过GoEasy服务器主动告知web网页登录成功
后台服务器接收到请求后通过GoEasy将sessionID主动推送给拥有相同唯一标识的web网页。
GoEasy后台实时推送到web :http://www.cnblogs.com/jishaochengduo/articles/5552645.html
Java实现二维码扫码登录:http://goeasy.io/www/demo/qrcodelogin
4.  Web浏览器设置登录的相关cookie信息
Web浏览器收到消息中包括了登录相关的sessionID,浏览器通过javascript代码就可以把cookie加入到浏览器中,这是浏览器就完成了登录。
微信扫描二维码登录网页的原理

1.微信扫描二维码登录网页过程 [电脑] 打开 http://wx.qq.com,得到二维码; [手机] 手机登录微信,点开扫一扫,扫描PC端二维码,并且扫描成功; [电脑] 手机扫描成功后,提示“登录网页版微...

w-rain ⋅ 2016/02/17 ⋅ 2

雨翔河/ScanLogin

手机扫一扫登录 服务器生成uuid和uuid为内容的二维码,同时生成一个全局的hashMap,key为uuid,value为登录信息,现在为空。 浏览器得到服务器传过来的uuid和二维码的同时发起轮询操作,问服...

雨翔河 ⋅ 2015/04/29 ⋅ 0

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

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

kisshua ⋅ 2016/10/14 ⋅ 0

二维码预览界面被图片遮盖的问题

我弄了一个登录界面的界面,输入帐号和密码的edittext都使用了背景图片,输入完毕后点击的登录,显示二维码扫描界面的预览,但是界面出现了登录界面的帐号登录框的背景图片,而且被放大拉长了...

Leozhu ⋅ 2013/03/11 ⋅ 0

Android微信扫描二维码登入实现 基于ZXing开源工程

项目需求,做一个类似微信扫描二维码,网页端登陆的功能实现。 利用开源项目ZXing来实现。ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码。目标是能够对QR编码、Data Matrix、UPC的1...

jeffzhao ⋅ 2013/02/02 ⋅ 7

C#实现基于ASP.NET SignalR:扫描二维码登录PC网站

移动互联网的兴起,掀起了另一股热潮。社会的发展,促使IT界,不断更新。不同的语言,不同的平台,衍生出层出不穷的技术框架。行业的种种,或大或小的变革,在不同程度上,改变着我们的生活。...

李朝强 ⋅ 2016/11/22 ⋅ 1

ipad本机扫描二维码登录VX 协议接口 重金求可以本机扫码登录ipad办法

ipad协议登录的二维码保存到本机。 从本机里面相册中打开扫一扫 扫出来的结果是404没法从本机登录ipad 求本机扫码登录ipad思路。 现在只能PC端点开二维码图片 拿出手机对准二维码图片扫描可以...

房房 ⋅ 05/30 ⋅ 0

手机二维码登录是怎么实现的?qq,微信等

如题。 我的想法: PC 端请求服务器,服务器生成一个二维码,这个二维码包含了 PC 的 IP 地址,MAC 地址,时间戳等信息,服务器返回二维码到客户端; 然后手机去扫描该二维码,如果同意登录,...

elvissss ⋅ 2016/05/15 ⋅ 3

Spring Aspect @AfterReturning 在 Controller中可以正常结束,但没有执行完

(谢谢你关注此问题,请帮助解决,再次谢谢!) 业务场景: 1、当用户在页面上输入内容后提交后,会生成二维码; 2、其他微信用户扫描二维码后会在微信好友中发送提交的内容。 我期望的效果...

冬国 ⋅ 03/06 ⋅ 0

微信公众号之智能绑定实现初始版本

微信公众号智能绑定实现步骤:微信公众号智能绑定功能所有的步骤都是以模拟实现的。 1.模拟打开微信公众帐号登录页面; URL地址:https://mp.weixin.qq.com/ 2.读取自己微信公众帐号的用户名...

rzg813 ⋅ 2014/09/02 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

vue-cli是什么?

vue-cli是什么? vue-cli 是vue.js的脚手架,用于自动生成vue.js+webpack的项目模板,分为vue init webpack-simple 项目名 和vue init webpack 项目名 两种。 当然首先你的安装vue,webpack...

韦姣敏 ⋅ 26分钟前 ⋅ 0

12c rman中输入sql命令

12c之前版本,要在rman中执行sql语句,必须使用sql "alter system switch logfile"; 而在12c版本中,可以支持大量的sql语句了: 比如: C:\Users\zhengquan>rman target / 恢复管理器: Release 1...

tututu_jiang ⋅ 32分钟前 ⋅ 0

java 线程池

概述 减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务 可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为因为消耗过多的内存,而把服务器累趴下(...

轨迹_ ⋅ 37分钟前 ⋅ 0

Nginx的https配置记录以及http强制跳转到https的方法梳理

Nginx的https配置记录以及http强制跳转到https的方法梳理 一、Nginx安装(略) 安装的时候需要注意加上 --with-httpsslmodule,因为httpsslmodule不属于Nginx的基本模块。 Nginx安装方法: ...

Yomut ⋅ 49分钟前 ⋅ 0

SpringCloud Feign 传递复杂参数对象需要注意的地方

1.传递复杂参数对象需要用Post,另外需要注意,Feign不支持使用GetMapping 和PostMapping @RequestMapping(value="user/save",method=RequestMethod.POST) 2.在传递的过程中,复杂对象使用...

@林文龙 ⋅ 50分钟前 ⋅ 0

如何显示 word 左侧目录大纲

打开word说明文档,如下图,我们发现左侧根本就没有目录,给我们带来很大的阅读障碍 2 在word文档的头部菜单栏中,切换到”视图“选项卡 3 然后勾选“导航窗格”选项 4 我们会惊奇的发现左侧...

二营长意大利炮 ⋅ 54分钟前 ⋅ 0

智能合约编程语言Solidity之线上开发工具

工具地址:https://ethereum.github.io/browser-solidity/ 实例实验: 1.创建hello.sol文件 2.调试输出结果

硅谷课堂 ⋅ 55分钟前 ⋅ 0

ffmpeg 视频格式转换

转 Mp4 格式 #> ffmpeg -i input.avi -c:v libx264 output.mp4#> ffmpeg -i input.avi -c:v libx264 -strict -2 output.mp4#> ffmpeg -i input.avi -c:v libx264 -strict -2 -s 1......

Contac ⋅ 今天 ⋅ 0

VCS仿真生成vpd文件(verilog)

VCS仿真生成vpd文件(verilog): https://www.cnblogs.com/OneFri/p/5987673.html SYNOPSYS VCS常用命令使用详解 https://blog.csdn.net/hemmingway/article/details/49382551 DVE是synopsys公......

whoisliang ⋅ 今天 ⋅ 0

Spring Boot启动配置原理

几个重要的事件回调机制 配置在META-INF/spring.factories ApplicationContextInitializer SpringApplicationRunListener 只需要放在ioc容器中 ApplicationRunner CommandLineRunner 启动流程......

小致dad ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部