欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > 内容正文

浅谈微信扫码登录的原理,

来源: 开发者 投稿于  被查看 37729 次 评论:83

浅谈微信扫码登录的原理,


前言

大家好,我是程序员阿木!

网页版微信刚推出时,无数人被它的登录方式惊艳了一下,不需要输入用户名密码,打开手机微信扫一扫,便自动登录。

浅谈微信扫码登录的原理
微信扫码登录

如今,只要同时支持PC端与移动端的应用,均支持手机App扫码登录,像淘宝,12306等。从原理上讲,二维码只是一段文本的编码,那么它是如何实现快捷登录的呢?今天我们就来简单分析一下!

正文

如果你用我查查、支付宝、新浪微博等软件扫码二维码,你会发现此二维码解析出来是如下的网址:

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

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

浅谈微信扫码登录的原理
微信扫码登录原理

如图:

  • 用户 A 访问微信网页版,微信服务器为这个会话生成一个全局唯一的 ID,上面的 URL 中 obsbQ-Dzdg== 就是这个 ID,但是此时系统并不知道访问者是谁。
  • 用户A打开自己的手机微信并扫描这个二维码,并提示用户是否确认登录。
  • 手机上的微信是登录状态,用户点击确认登录后,手机上的微信客户端将微信账号和这个扫描得到的 ID 一起提交到服务器
  • 服务器将这个 ID 和用户 A 的微信号绑定在一起,并通知网页版微信,这个 ID 对应的微信号为用户 A,网页版微信加载用户 A 的微信信息,至此,扫码登录全部流程完成

至于服务端如何通知网页版的微信,无非两种方式:

如果是CS的应用,则客户端使用轮询的方式去询问服务器是否登录成功

  • 如果是BS的应用,则服务端可以通过CallBack回调的方式来告知客户端登录成功。

扫码登录看起来神奇,主要是因为微信 APP 扫自家的码会做一些普通二维码软件不会做的额外的操作,那就是将当前已登录的微信和扫出来的 ID 提交到微信服务器,类似的应用还有扫码支付、扫码加公众号等功能.

结语

以上便是扫码登录的原理,你弄明白了吗?

相关频道:

用户评论