扫码登录
- 扫码登录基本不可能自己实现,会非常的麻烦
- 那么如果借助已有的工具来实现呢?比如QQ互联,不过你需要去官网申请资格
- 要是想微信扫码登录,那么你可以通过公众号,但是公众号也需要去认证申请,也不是很方便
- 好像钉钉也有扫码登录,可能简单点,但是我没有去研究过,公司企业做钉钉的话我觉得比较合适
- 微信现在基本每个人都有,必不可缺的一个应用了,那么通过微信扫码来实现登录看上去是最好的选择,那么有什么方式可以非常简单的来实现呢?
- 我就是给你们介绍这种方式
微信扫码登录
需要借助 WxPusher微信推送服务
什么是WxPusher
WxPusher (微信推送服务)是一个使用微信公众号作为通道的,实时信息推送平台,你可以通过调用API的方式,把信息推送到微信上,无需安装额外的软件,即可做到信息实时通知。 你可以使用WxPusher来做服务器报警通知、抢课通知、抢票通知,信息更新提示等。
demo演示程序
你可以访问演示程序,体验功能:https://wxpusher.zjiecode.com/demo/
演示程序源代码:https://github.com/wxpusher/wxpusher-sdk-java/
管理后台:https://wxpusher.zjiecode.com/admin/
借助创建参数二维码及其回调功能实现微信扫码登录
如果你完全没了解过WxPusher微信推送服务你最好先去看看文档,先了解了解
通过它创建参数二维码接口,创建带参数二维码,用户扫码以后,会在回调里面带上参数,在他的管理后台中填写你服务器项目中的事件回调地址,写了回调地址,当用户扫描你的应用二维码关注你创建的应用时,WxPusher会对你设置的地址发起HTTP调用,把用户的UID推送给你。 回调的使用POST方法,数据格式如下:
{
"action":"app_subscribe",//动作,app_subscribe 表示用户关注应用回调,后期可能会添加其他动作,请做好兼容。
"data":{
"appId":123,//创建的应用ID
"appKey":"AK_xxxxxx", //关注应用的appKey,请不要再使用,将来可能会被删除
"appName":"应用名字",
"source":"scan", //用户关注渠道,scan表示扫码关注,link表示链接关注,command表示通过消息关注应用,后期可能还会添加其他渠道。
"userName":"", //新用户微信不再返回 ,强制返回空
"userHeadImg":"",//新用户微信不再返回 ,强制返回空
"time":1569416451573, //消息发生时间
"uid":"UID_xxxxxx", //用户uid
"extra":"xxx" //用户扫描带参数的二维码,二维码携带的参数。扫描默认二维码为空
}
}
- 你在回调接口中写你自己的业务逻辑,来实现扫码登录逻辑即可
END
- Author: 晏贤俊
- Link: https://www.yanxianjun.com/post/scan_login/
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.