后台一直都是密码登录,简直枯燥的没朋友,看见小伙伴的博客设置的是扫描二维码登录,然后请教了一番加上自己的理解,实现了小程序配合扫码登录后台
首先是要理解扫码登录的逻辑,在我看来扫码的小程序就是superadmin,扫码就能实现后台的token生成,保存到redis,发放给前端页面,所以小程序的权限设置是很重要的,这里单独新增一个表:tp_wx
,存放微信账号的唯一标识,可读可写:
OPEN_ID
字段就是小程序里 wx.login 方法的返回值,用户唯一标识,
数据库里不存在该OPEN_ID
的话当然是没有权限的:
下面是简单的思路:
-
websocket
连接服务端之后保存一个自定义的标识,对应相应客户端,下面把这个标识称之为key
-
再把这个
key
通过qrcode
生成二维码显示到页面上等待小程序扫码读取 -
小程序扫码后,获取到这个
key
并发送给服务端 -
服务端再通过小程序发送的
key
找到对应的客户端并提示登录成功或者失败
具体代码已上传至github: websocket-wxApp-login
参考地址: