[微信] 微信网页版扫码登录的实现

我们先来回顾一下微信网页版的扫码登录过程

1. 打开微信网页版,https://wx.qq.com/

2. 打开手机微信客户端,扫一扫

3. 点击确定,登录

 

看似简单的操作流程,中间涉及的数据交互有很多还是值得我们参考的,下面从页面请求来探讨一下人家的技术是怎样实现的。

使用google chrome,打开调度工具,重新刷新页面,如图所示

留意以上3个点,返回的数据如下

1. 

2. 

这里的意思是,长连接获取不到用户的登录响应,所以返回408,http code 408代表的就是请求超时

3. 

留意红色的字符,这个是从第一步请求的里面获取回来的,唯一用户识别uuid

 

打开手机扫码之后,再看中间的数据是怎样交互的

这个时候,步骤3同样的地址,返回的数据已经变更。获取到了服务端的验证凭票,需要进行下一步的跳转了。

这几步,就是根据上面的凭票,去验证登录状态了。

 

以上步骤,可归纳为以上的流程图

 

因为整个流程的所有请求,都是基于ssl来传输的,所以也不需要担心传输过程泄密的问题。

 

参考来源:http://blog.it2048.cn/article_webweixin.html

 

posted @ 2015-12-24 14:26 DavidHHuan 阅读(...) 评论(...) 编辑 收藏