`
a453228609
  • 浏览: 35396 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

让你的网站支持手机二维码登录

 
阅读更多

如果你的网站能支持二维码登录, 用户打开手机扫描一下, 网页上就立即变为已登录状态了, 是不是很酷? 像腾讯的微信, 手机淘宝等, 都支持用手机扫描二维码登录 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

分享到:
评论

相关推荐

    二维码登录系统php版v2.0

    厌倦了复杂的密码记忆,繁杂的改密、找密,痛苦的被盗、申诉,赶快来使用它吧,让每次登录变成你上网冲浪快乐的开始! 如果您是站长,只需要简单几步,就可以为已有网站整合神奇的二维码登录功能。您网站的用户即可...

    扫描二维码登陆原理(SignalR实现消息推送)_二维码winform登录_

    在实现二维码登录时,通常会生成包含用户标识的二维码,当用户通过手机扫描后,这些信息会被发送到服务器进行验证。 接着,`TxSms.SingalR`可能是一个包含SignalR相关功能的类库,用于实现实时消息推送。SignalR...

    二维码登录系统 v2.0

    厌倦了复杂的密码记忆,繁杂的改密、找密,痛苦的被盗、申诉,赶快来使用它吧,让每次登录变成你上网冲浪快乐的开始!如果您是站长,只需要简单几步,就可以为已有网站整合神奇的二维码登录功能。您网站的用户即可...

    手机二维码业务分析和建议.pdf

    ### 手机二维码业务分析与建议 #### 引言 随着信息技术的发展,手机二维码作为一种新型的数据存储和传输手段,近年来在全球范围内得到了迅速普及。手机二维码不仅具有信息存储量大、鲁棒性强、成本低廉等特点,...

    手机二维码开启全新增值业务空间.pdf

    ### 手机二维码开启全新增值业务空间 #### 一、引言 随着信息技术的不断发展,手机二维码作为一种新兴的信息载体,在近年来得到了广泛的应用。本文旨在介绍手机二维码的概念、优势及其在增值业务领域的应用前景。 ...

    手机二维码业务应用体系分类和商业模式.pdf

    ### 手机二维码业务应用体系分类和商业模式 #### 一、引言 随着移动互联网的快速发展,手机二维码已经成为连接线上与线下服务的重要桥梁。本文旨在深入探讨手机二维码业务的应用体系分类及其商业模式,帮助读者...

    手机二维码转一维

    本文将深入探讨“手机二维码转一维”的技术原理、应用场景及实现方法。 一、二维码与一维码的区别 1.1 二维码 二维码,全称二维条形码,是一种存储大量信息的图形编码方式。它能在有限的空间内存储文字、数字、URL...

    QR二维码_可支持中文

    4. **扫描与解码**:当用户使用手机扫描这个二维码时,扫描软件首先会捕获图像,然后通过图像处理算法找到并解析出二维码的图案。接着,它会使用相同的UTF-8解码规则将二进制数据还原为原始的中文文本。 了解了这些...

    二维码源代码,支持中文

    例如,可以集成到网站或APP中,让用户自动生成包含个性化信息的二维码;也可以用于打印标签,方便商品的信息化管理;甚至可以用于制作电子票务,简化入场流程。总的来说,这个源代码提供了一个高效、灵活的工具,...

    手机二维码业务应用研究报告20070109

    - 这为手机二维码业务提供了广泛的用户基础和技术支持。 - **手机二维码业务兴起趋势**: - 日益增长的市场需求促进了手机二维码业务的发展; - 企业利用手机二维码开展营销活动、提高客户服务体验等。 #### 四...

    微信群公众号二维码导航大全网站源码 - 带整站数据聚合SEO+手机版伪静态支持

    微信群公众号二维码导航大全网站源码 带整站数据聚合SEO+手机版带伪静态

    基于ZXing的Android手机二维码开发

    基于ZXing库的Android手机二维码开发是一种常见的实现方式,ZXing(Zebra Crossing)是Google开源的一个全能条码扫描库,支持多种格式的条形码和二维码。这个项目是关于如何在Android应用中集成ZXing,实现在手机上...

    H5调用手机相机识别二维码

    其中,“H5调用手机相机识别二维码”是移动互联网中常见的功能,广泛应用于各种场景,如登录验证、商品信息查询等。本篇文章将详细探讨如何在H5页面中实现这一功能,并结合“jsqrcode-master”这个库来解析二维码。 ...

    日韩手机二维码业务模式.pdf

    ### 日韩手机二维码业务模式分析 #### 一、日本手机二维码业务分析 ##### 1. 运营模式 日本的二维码市场主要采用QR码制,这是一种开放的技术标准,不存在专利和版权的问题。在日本,二维码业务采取了较为开放的...

    基于物联网的手机二维码应用研究.pdf

    由于提供的文件内容部分信息是关于文档的元信息,且存在技术问题导致文字识别错误或遗漏,以下是根据标题、描述和部分内容提示对“基于物联网的手机二维码应用研究”这个主题的知识点进行详细阐述。 物联网...

    Chrome简易二维码插件

    Chrome简易二维码插件是一款基于JavaScript开发的浏览器扩展,主要用于生成网页链接或者其他文本内容的二维码,使得用户可以通过手机扫描二维码快速访问或分享信息。这款插件适用于Chrome浏览器,它简化了传统二维码...

    二维码解码android手机软件Quick拍

    Quick拍是一款便捷的一维条码和二维码QR码的扫码识别软件...扫描识别QR二维码,支持对信息存储、电话拨打、短信发送、邮件发送等扩展功能,是目前最快的手机条码扫码软件。 是个apk的安装包,大家可以直接装到手机上。

    android开发摇晃手机扫描二维码

    在Android开发中,实现摇晃手机来扫描二维码是一项有趣且实用的功能。这个功能结合了运动感应和二维码识别技术,使得用户无需打开相机界面手动对准二维码,只需轻轻一摇,即可快速扫描。以下是对这个项目的详细解读...

    二维码与pc切换登入.rar

    通过手机上的二维码扫描应用,用户可以快速读取这些信息,简化了输入步骤。 2. **身份验证**:在登录过程中,二维码起到了身份验证媒介的作用。用户在PC端展示二维码,移动设备扫描后,会发送一个包含用户身份信息...

    基于JavaScript开发的QQ聊天机器人,支持二维码登录,群组讨论,消息派发,HTTP接口,qqbot等+源码+项目开发解析

    手机QQ二维码扫描登录,貌似这是目前 WebQQ 唯一允许的登录方式 支持好友,群,讨论组的接入 插件化,目前支持消息的派发 提供HTTP API支持(比如群通知什么的都能做哦) 除了 qqbot,还附带了一个命令行的 qq 来...

Global site tag (gtag.js) - Google Analytics