扫码登录方案实现

这次记录一下我在项目中实现扫码登录的方案,供大家参考

1. APP 扫码登录设计说明
根据 WEB 端点击二维码登录生成一个唯一 id 存储到 redis,APP
端获取到 id 验证状态通过将 token 传到后端,后端根据 id 和携带
token 实现登录。

2. 技术支持
Redis,java,vue

3. APP 扫码登录流程图
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/8e562f8fa7eb4d0280f14c6ae7a111d6.png
4. APP 扫码登录流程
第一步:

在 WEB 端点击二维码登录生成一个唯一 id 存储到 Redis,并且 给这个 id 设置为未被查询状态 0,根据此 id 生成二维码

第二步:

APP 端进行扫码,获取到这个 id,查看 id 状态是否正常(如果 正常则将 id 状态修改为已查询;否则将提示用户二维码已失效并结
束本次扫码登录);同时 WEB 前端轮询发送登录请求

第三步:
APP 端界面弹出确认登录框;

用户选择确认登录——>校验 id 状态是否是已查询 用户选择取消登录——>结束本次二维码登录

第四步:

如果用户选择确认登录,APP 端校验 id 状态为已查询,则将 id 和 APP 端 token 发送到后端,后端根据 id 将 token
储存到 Redis

第五步:

后端接收到登录请求,发现此 id 已有 token 时,根据此 app 的 token 所对用的用户重新生成新的 web 端
token,返回给 web 端。此时 登录成功

第六步:

登录成功后删除 Redis 的 id

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值