网站扫描二维码登录

https://login.weixin.qq.com/l/obsbQ-Dzag==
  
  

接下来详细介绍一下扫码登录具体的每个步骤:

扫码登录完整流程

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

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

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

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

移动端的问题解决了 重点是 服务器怎么通知web 完成登录。
其实就是server端如何通知web端的问题,两个方案,一个是轮询,一个是websocket
方案一:

出现一个二维码,这个时候,前端用登录页面的url做出一个二维码,当然,还得做出一个唯一的标识当做参数传递过去,然后呢,二维码做出来的同时,向服务器发送ajax把刚才的唯一标识传递过去。

服务器接收到标识的时候,挂起就好了。不发送响应。(这个估计有点坑)

然后你手机可以拿出来扫码了。扫码就等于在手机打开了登录界面。然后你的一系列和服务器交互。都是一样的。

然后服务器不是还挂起的呢吗?你可以设定一个定时的东西,30秒之内,如果你在手机端的登录的标识成功了。那么就给你返回一个成功的标识,然后你的pc端就可以正常的进入系统了。如果超过时间了,那么就返回一个超时的提示,让他重新扫码登录。

方案二:参考链接:http://www.ideawu.net/blog/archives/793.html      通过 comet 服务器告知网页登录成功
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值