资讯专栏INFORMATION COLUMN

基于 Workman 实现Web扫描登录

yexiaobai / 2727人阅读

摘要:实现流程图运行流程用户访问微信网页版,微信服务器为这个会话生成一个全局唯一的,上面的中就是这个,此时系统并不知道访问者是谁。用户打开自己的手机微信并扫描这个二维码,并提示用户是否确认登录。

Web 扫码登录实现

基于 Workerman 做了一个扫码登录示例,给有需要的朋友参考一下。发现问题,欢迎指正。

实现流程图

运行流程

①:用户 A 访问微信网页版,微信服务器为这个会话生成一个全局唯一的 ID,上面的 URL 中 obsbQ-Dzag== 就是这个 ID,此时系统并不知道访问者是谁。

②:用户A打开自己的手机微信并扫描这个二维码,并提示用户是否确认登录。

③:手机上的微信是登录状态,用户点击确认登录后,手机上的微信客户端将微信账号和这个扫描得到的 ID 一起提交到服务器

④:服务器将这个 ID 和用户 A 的微信号绑定在一起,并通知网页版微信,这个 ID 对应的微信号为用户 A,网页版微信加载用户 A 的微信信息,至此,扫码登录全部流程完成

扫码登录看起来神奇,主要是因为微信 APP 扫自家的码会做一些普通二维码软件不会做的额外的操作,那就是将当前已登录的微信和扫出来的 ID 提交到微信服务器,类似的应用还有扫码支付、扫码加公众号等功能,关于二维码在产品设计中的应用,推荐另一篇文章:《二维码这把利刃,产品应该用到极致》。

以上内容来自互联网。

说明

基于workerman/gateway 框架编写. web服务也可以使用 apache, nginx来代替。扫码工具我用的手机扫码来代替的,也可直接获取到一个url,放到另一个浏览器窗口模拟扫描二维码的过程。生产环境肯定是用app扫描的。

获取示例源码

https://github.com/wanglelecc...

运行示例(Win)

在windows 下双击 login_start_for_win.bat 即可

有兴趣的同学我们可以一起学习交流。

放1张预览图:

注:这只是一个示例,给大家提供一个思路。真正的使用,还有很多需要改进的地方。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26040.html

相关文章

  • 基于Web实现远程与硬件交互

    摘要:功能实现服务器,服务器使用相对成熟的实现。被广泛的用于手机移动通讯,微信小程序,手游服务端网络游戏聊天室硬件通讯智能家居车联网物联网等领域的开发。支持长连接,支持等协议,支持自定义协议。拥有异步异步异步异步消息队列等众多高性能组件。 基于Web实现远程与硬件交互 项目背景: 最近在做一个类似速递柜的项目,项目需求大概如下:1.用户使用微信扫描二维码2.后台匹配相关数据,并存储用户信息,...

    chadLi 评论0 收藏0
  • 聊聊二维码登录

    摘要:场景主要的场景有如下几个扫二维码登录版系统比如微信版,在手机端微信登录的前提下,扫二维码确认,自动登录网页版。小结二维码扫描登录是个挺潮流的功能,这要求既有系统增加改造,也要求针对这种形式的登录带来潜在的攻击进行安全防范。 序 本文主要来研究一下二维码登录的相关场景和原理。 场景 主要的场景有如下几个: app扫二维码登录pc版系统 比如微信web版,在手机端微信登录的前提下,扫二维码...

    Tikitoo 评论0 收藏0
  • php+sockets实现可靠的延时队列

    摘要:支持消息删除业务使用方,可以随时删除指定消息。消息传输可靠性消息进入到延迟队列后,保证至少被消费一次。 延迟队列,顾名思义它是一种带有延迟功能的消息队列。 那么,是在什么场景下我才需要这样的队列呢? 一、背景 先看看一下业务场景: 1.会员过期前3天发送召回通知 2.订单支付成功后,5分钟后检测下游环节是否都正常,比如用户购买会员后,各种会员状态是否都设置成功 3.如何定期检查处于退...

    xumenger 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<