• 扫码登录基本不可能自己实现,会非常的麻烦
  • 那么如果借助已有的工具来实现呢?比如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方法,数据格式如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"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