微信第三方登录【客户端篇】

a.扫码页面
b.扫码页面样式设置
 
服务端的接口封装好了之后,拿到接口地址,这时候客户端的同学通过http请求访问,(如果二维码页面样式有要求请看A,没有看B)
a.  这时候需写好一个html页面,页面里面的css样式就是用来控制生成的二维码样式的,但是css文件并不能直接操作,而是需要官方提供的 wxLogin.js来控制,把css的网络路径作为参数传入到js里的 WxLogin对象中。(详情见开官方发文档https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316505&token=&lang=zh_CN 第一步请求示例中)
你页面也写好了,这时候拿到服务器上部署好了,结果还是没有看到你设置的效果?你按开浏览器的F12即可看见浏览器报错因为您的地址不是以https开头会以安全级别不够把你css修改的要求驳回。这时候需要升级到官网的要求。
 
b.服务端直接返回api默认二维码的地址(黑色的背景)
 
ok,以上步骤完成,终于能看到二维码了。当我们掏出手机扫码成功之后,这时候服务端是可以拿到登录状态和你当前微信账号信息的。服务端还需要做的一件事情就是把这些信息记录到公司的数据库中。客户端
需要在界面上显示当前微信账号的信息,数据哪里来呢?依然是从服务端拿,这时候再次请求服务端同学给你封装好的接口拿数据,这时候要注意了。怎么样要在下次登录的时候确保是同一个人呢?这时候官方同样提出了字段叫Union Id.这个id从哪里来?依旧在开发文档中,第二步《通过code获取access_token》。这个api的参数和第一个大同小异,这里就不在赘述。过程顺利的话拿到Union Id,并不能直接使用因为加密过,加密的手段是RSA 可参考 http://blog.csdn.net/u010678947/article/details/48652875。拿到明文的union id之后该验证验证该干什么操作干什么。最后确认是合法的id就可以登录啦。

第一次写博客,如有不对欢迎各位大牛斧正,立马修改。如果有能帮到各位的话欢迎加群询问。鄙人会尽所能解答。(如涉及侵权请联系我删除)。 如有想学习,交流wpf开发同学也可以加群讨论。
讨论Q群:580749909
原文地址:https://www.cnblogs.com/justzhuzhu/p/7298661.html