前言大家好,我是程序员阿木!网页版微信刚上线时,无数人惊叹于它的登录方式。无需输入用户名和密码,打开手机微信扫一扫即可自动登录。微信扫码登录现在只要同时支持PC端和手机端,都支持手机端扫码登录,比如淘宝、12306等,原则上一个二维码就是一个码文字,那么它是如何实现快速登录的呢?今天我们就来简单分析一下!如果你用查查、支付宝、新浪微博等软件扫描文字,你会发现这个二维码被解析到如下网址:https://login.weixin.qq.com/l/obsbQ-dzdg==接下来详细介绍扫码登录的每个具体步骤:微信扫码登录原理如图:用户A访问网页版微信,微信服务器全局生成一个此会话的唯一ID。上面URL中的obsbQ-Dzdg==就是这个ID,但是此时系统并不知道访问者是谁。用户A打开手机微信扫描二维码,提示用户是否确认登录。手机微信处于登录状态。用户点击确认登录后,手机微信客户端将微信账号和扫描的ID提交给服务器。服务器将ID与用户A的微信账号绑定,并通知网页版微信中,该ID对应的微信ID为用户A,网页版微信加载用户A的微信信息。此时,整个扫码登录流程就完成了。至于服务器如何通知网页版微信,无外乎两种方式:如果是CS,如果是BS的应用,客户端使用轮询的方式询问服务器是否登录成功。如果是BS的应用,服务端可以通过CallBack回调通知客户端登录成功。扫码登录看起来很神奇,主要是微信APP自己扫码做了一些普通二维码软件不会做的额外操作,即将当前登录的微信和扫描的ID提交给微信服务器,类似的APP还有扫码支付、扫码添加公众号等功能。