浅谈微信扫码登录的原理

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

前言

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

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

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

如今,只要同时支持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 提交到微信服务器,类似的应用还有扫码支付、扫码加公众号等功能.

结语

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

 

责任编辑:未丽燕 来源: 今日头条
相关推荐

2022-06-10 06:55:21

JustAuthSpring

2023-11-20 08:29:33

Vue微信扫码授权登录

2014-03-05 14:41:55

二维码登录

2020-02-05 14:12:19

微信淘宝开端

2020-04-29 09:22:10

微信更新内测

2020-04-15 16:30:24

扫码登录微信前端

2022-07-01 08:02:30

QQ扫码登录

2021-07-12 05:31:15

微信微信电脑版扫码登录

2024-03-07 07:59:37

2021-11-30 07:31:42

微信支付宝付款

2023-12-18 09:58:46

微信扫码支付Vue3

2021-09-08 10:02:56

面试二维码前端

2021-01-08 14:19:32

移动支付数字人民币微信支付

2020-01-03 16:19:24

微信微信支付移动应用

2021-10-26 10:29:45

扫码登录功能

2020-04-26 07:39:05

微信扫一扫识物

2020-03-04 08:52:07

揭秘微信扫一扫

2020-04-06 12:39:09

微信扫一扫功能

2021-12-24 20:22:07

微信微信电脑版移动应用

2020-04-01 10:06:41

二维码技术服务端
点赞
收藏

51CTO技术栈公众号