JAVA Websocket实现扫码二维码登录---GoEasy
最近在做一个扫码登录功能,为此我还在网上搜了一下关于微信的扫描登录的实现方式。当这个功能完成了后,我决定将整个实现思路整理出来,方便自己以后查看也方便其他有类似需求的程序猿些。 要实现扫码登录我们需要解决两个问题: 1. 在没有输入用户名及密码的情况下,如何解决权限安全问题?换句话讲,如何让服务器知道扫码二维码的客户端是一个合法的用户? 2. 服务器根据用户在客户端的选择如何实时在网页上作出相应的响应? 首先我们先理一下微信的实现思路,来方便我们理解解决这一难题的思路方向。微信登录的二维码实际上是将一个 URL 转换成二维码的形式,而通过微信客户端扫码后,无非就是打开了这个 url, 我捕捉到的微信二维码的 url 为 https://login.weixin.qq.com/l/YdmTu30I5A== ,这个 url 里的 YdmTu30I5A== 代表的是本次会话的唯一 ID, 这个有点儿类似浏览器里的 session id ,通过这个 ID, 微信就能定向将确认结果反馈到网页上。使用微信二维码登录功能,需要有两个前提:一是客户端上需要安装微信 app 。 二是用户需要登录到到微信 app 。 https://wx.qq.com/ JAVA Websocket消息推送 为什么要有这两个条件呢?那是因为微信在确认是否允许登录到网页版的时候,微信需要提取当前 app