如果你的网站能支持二维码登录, 用户打开手机扫描一下, 网页上就立即变为已登录状态了, 是不是很酷? 像腾讯的微信, 手机淘宝等, 都支持用手机扫描二维码登录 Web 版, 极大的方便了用户. 这项技术不仅能增加网站的用户体验, 也是把传统的 Web 端和新潮移动端结合起来的重要手段.
手机二维码登录网站, 并不是一项多么有难度的技术, 而是多个现有成熟技术的融合. 下图是整个系统的架构示意:
一套手机二维码登录网站的系统, 至少包含这几个问题: Web 端, 浏览器, 手机端, comet server. 前三个服务没有什么特殊, 需要特别提示的是 comet server, 这是一项解决服务器向浏览器推送消息的方案. 如果没有 comet server, 浏览器就无法及时有效地知道用户的手机扫描了二维码.
整个系统的流程是这样的:
1. 获取二维码
首先, 网页上要显示一个二维码. 这个二维码中包含了用于唯一标识用户的一些数据, 这些唯一标识并不是 SESSION_ID 或者类似的, 仅仅是临时的唯一标识. 这个标识之后将和手机上登录的用户绑定, 从而实现网页中登录.
可以使用一些浏览器端技术来生成二维码, 以免服务器生成二维码图片耗费不必要的服务器计算资源, 例如可以使用 jQuery qrcode 插件.
2. 扫描二维码
这一步骤是在手机 App 上扫描二维码, 以便从二维码中读取出前一步骤生成的唯一标识. 在扫描之前, App 应该验证用户是否已经登录了账号. 如果手机 App 已经登录了, 那么手机上已经存储了 session 信息.
3. 将 session 和二维码绑定
这一步骤, 是将手机上的用户和网页上的未登录用户(临时唯一标识)进行绑定, 从而实现登录.
4. 通过 comet 服务器告知网页登录成功
一旦 session 和二维码绑定成功, Web Tier(如 PHP)就可以告知浏览器网页, 已经登录成功, 可以自动跳转到已登录页面了. 因为传统的 Web 是”请求-立即响应”模式, 服务器无法主动通知网页, 所以要用到 comet 技术. 这里使用 icomet 解决方案.
5. comet 向网页推送通知
Comet 服务器收到 Web Tier 的消息后, 立即转发给浏览器.
6. 浏览器设置登录相关的 cookie
浏览器收到的消息中, 包括了登录相关的 cookie(其中包含 SESSION_ID 等), 浏览器通过 JavaScript 代码即可把 cookie 种到浏览器中. 这时, 浏览器便完成了登录.
相关链接
* jQuery qrcode 插件: http://larsjung.de/qrcode/
* icomet 解决方案: https://github.com/ideawu/icomet
相关推荐
厌倦了复杂的密码记忆,繁杂的改密、找密,痛苦的被盗、申诉,赶快来使用它吧,让每次登录变成你上网冲浪快乐的开始! 如果您是站长,只需要简单几步,就可以为已有网站整合神奇的二维码登录功能。您网站的用户即可...
在实现二维码登录时,通常会生成包含用户标识的二维码,当用户通过手机扫描后,这些信息会被发送到服务器进行验证。 接着,`TxSms.SingalR`可能是一个包含SignalR相关功能的类库,用于实现实时消息推送。SignalR...
厌倦了复杂的密码记忆,繁杂的改密、找密,痛苦的被盗、申诉,赶快来使用它吧,让每次登录变成你上网冲浪快乐的开始!如果您是站长,只需要简单几步,就可以为已有网站整合神奇的二维码登录功能。您网站的用户即可...
### 手机二维码业务分析与建议 #### 引言 随着信息技术的发展,手机二维码作为一种新型的数据存储和传输手段,近年来在全球范围内得到了迅速普及。手机二维码不仅具有信息存储量大、鲁棒性强、成本低廉等特点,...
### 手机二维码开启全新增值业务空间 #### 一、引言 随着信息技术的不断发展,手机二维码作为一种新兴的信息载体,在近年来得到了广泛的应用。本文旨在介绍手机二维码的概念、优势及其在增值业务领域的应用前景。 ...
### 手机二维码业务应用体系分类和商业模式 #### 一、引言 随着移动互联网的快速发展,手机二维码已经成为连接线上与线下服务的重要桥梁。本文旨在深入探讨手机二维码业务的应用体系分类及其商业模式,帮助读者...
本文将深入探讨“手机二维码转一维”的技术原理、应用场景及实现方法。 一、二维码与一维码的区别 1.1 二维码 二维码,全称二维条形码,是一种存储大量信息的图形编码方式。它能在有限的空间内存储文字、数字、URL...
4. **扫描与解码**:当用户使用手机扫描这个二维码时,扫描软件首先会捕获图像,然后通过图像处理算法找到并解析出二维码的图案。接着,它会使用相同的UTF-8解码规则将二进制数据还原为原始的中文文本。 了解了这些...
例如,可以集成到网站或APP中,让用户自动生成包含个性化信息的二维码;也可以用于打印标签,方便商品的信息化管理;甚至可以用于制作电子票务,简化入场流程。总的来说,这个源代码提供了一个高效、灵活的工具,...
- 这为手机二维码业务提供了广泛的用户基础和技术支持。 - **手机二维码业务兴起趋势**: - 日益增长的市场需求促进了手机二维码业务的发展; - 企业利用手机二维码开展营销活动、提高客户服务体验等。 #### 四...
微信群公众号二维码导航大全网站源码 带整站数据聚合SEO+手机版带伪静态
基于ZXing库的Android手机二维码开发是一种常见的实现方式,ZXing(Zebra Crossing)是Google开源的一个全能条码扫描库,支持多种格式的条形码和二维码。这个项目是关于如何在Android应用中集成ZXing,实现在手机上...
其中,“H5调用手机相机识别二维码”是移动互联网中常见的功能,广泛应用于各种场景,如登录验证、商品信息查询等。本篇文章将详细探讨如何在H5页面中实现这一功能,并结合“jsqrcode-master”这个库来解析二维码。 ...
### 日韩手机二维码业务模式分析 #### 一、日本手机二维码业务分析 ##### 1. 运营模式 日本的二维码市场主要采用QR码制,这是一种开放的技术标准,不存在专利和版权的问题。在日本,二维码业务采取了较为开放的...
由于提供的文件内容部分信息是关于文档的元信息,且存在技术问题导致文字识别错误或遗漏,以下是根据标题、描述和部分内容提示对“基于物联网的手机二维码应用研究”这个主题的知识点进行详细阐述。 物联网...
Chrome简易二维码插件是一款基于JavaScript开发的浏览器扩展,主要用于生成网页链接或者其他文本内容的二维码,使得用户可以通过手机扫描二维码快速访问或分享信息。这款插件适用于Chrome浏览器,它简化了传统二维码...
Quick拍是一款便捷的一维条码和二维码QR码的扫码识别软件...扫描识别QR二维码,支持对信息存储、电话拨打、短信发送、邮件发送等扩展功能,是目前最快的手机条码扫码软件。 是个apk的安装包,大家可以直接装到手机上。
在Android开发中,实现摇晃手机来扫描二维码是一项有趣且实用的功能。这个功能结合了运动感应和二维码识别技术,使得用户无需打开相机界面手动对准二维码,只需轻轻一摇,即可快速扫描。以下是对这个项目的详细解读...
通过手机上的二维码扫描应用,用户可以快速读取这些信息,简化了输入步骤。 2. **身份验证**:在登录过程中,二维码起到了身份验证媒介的作用。用户在PC端展示二维码,移动设备扫描后,会发送一个包含用户身份信息...
手机QQ二维码扫描登录,貌似这是目前 WebQQ 唯一允许的登录方式 支持好友,群,讨论组的接入 插件化,目前支持消息的派发 提供HTTP API支持(比如群通知什么的都能做哦) 除了 qqbot,还附带了一个命令行的 qq 来...