上一段时间研究微信公共账号,发现微信提供了一个扫码登陆验证的功能。近期头痛于经常忘记用户名密码,因此考虑是否可以结合这个功能,完成免密码登陆。百度后发现,有很多仁兄已经做过类似的功能了。
如这篇文章: 实现网站二维码扫描登录
仔细研究后,发现很多平台都提供了类似的功能,如百度、微博、OSChina等。因此考虑设计一款软件,将此项功能推广到其他平台和应用场景。毕竟可以方便像我这样的懒人。经过一番捣鼓后,初步版本已经基本完成了, 网站地址:http://it.maerdym.cn/mm_mishu/。大家可以通过微信扫码完成登录测试。
微信扫码的实现原理如下:
用户打开扫码登陆的网页,浏览器首先请求验证系统(mishu)获取二维码图片地址并显示在网页上。用户打开微信扫描二维码,打开微信引导页。微信引导页会将用户的信息传递给业务系统。业务系统拿到微信用户信息后,通知验证系统用户扫码成功。
在此过程中,登陆页面一直轮询请求,客户是否扫码登陆成功,一旦登陆成功,便跳转到登陆成功页,完成登录操作。
此过程中涉及两项核心流程:获取验证码和验证码确认流程:
通过上述过程便完成了扫码登陆(二维码登陆)功能。
--------------------------------------------------------------文毕-------------------------------------------------------------------
后期会加入Java SDK、DoNet SDK 并推出 APP 扫码登陆客户端等功能。感兴趣的同学可以关注:http://it.maerdym.cn/mm_mishu/。如果需要源码,请评论里留下邮箱。
注:登陆http://it.maerdym.cn/mm_mishu/网站后,如果扫码无法登陆,请先关注公共号:(测试用的)