微信扫描二维码登录网页是什么原理,前后两个事件是如何联系的?

关注者
1,652
被浏览
306,336
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

有人对这个存在疑问是因为,扫码登陆有那么一点点违背直觉。

违背直觉的地方在于,电脑端是如何知道是哪个微信账号扫的它?

传统的登陆方法都是我告诉(输入)登陆设备我的账号密码等信息,然后就登陆了。

而这个是反过来的,微信扫码,信息(二维码)是从被登陆设备(电脑)往手机(微信)传的,违背直觉的地方就在这里。信息传递的方向是反的。

然而多想一步就会明白,不管是手机还是网页端,都是和微信的服务器连接的。

微信在扫到码后告诉微信的服务器它扫到的是哪一个码。

服务器知道当前这个码是在哪一个网页上显示的,于是这两者就联系起来了。

举个例子,比如你在街上看到一个美女,你不知道她的名字等联系方式,但你牢牢的记住了她的长像。然后你跑到公安局里去通过她的长相查到了她本人,公安局联系她本人说有个人要找她,最终你们取得了联系。这里公安局就是微信的服务器,你就是微信,她就是网页端。比喻不太恰当,凑合一下吧~

值得注意的是这个过程中没有用户名密码等的验证。

因为这是基于一个信任来登陆的:即服务器相信能用微信扫码的话,扫码人就拥有这个微信账号的所有权。微信在首屏也提供了从手机上退出网页登陆的功能,这样即使是别人拿着你的手机扫了码在他的电脑上登陆你的微信,你也可以发现。

整个过程是没有逻辑漏洞的。