上传二维码登录设计思路
Posted jaxyoun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了上传二维码登录设计思路相关的知识,希望对你有一定的参考价值。
一、要求
- 二维码图片、账号、密码均通过其他渠道下发;
- 用户上传二维码,同时输入用户名和密码,输入的用户必须为二维码内的用户;
- 要有图片验证码,退出登录,同一用户登录后自动挤掉旧的会话;
二、思路
- 上传扫描成功后,返回二维码内的账号hash,登录过程带上这个hash,以保证输入账号与二维码的一致。
- 使用JWT方案,其中jwt中不存放任何真实用户信息,仅包含代表此次登录的loginKey,是一个随机串。
- 涉及三个关键缓存:
-
CaptchaCache:缓存验证码信息,key为一个随机串,value为生成的验证码值,登录时带上key和用户输入的验证码。
-
TokenCache:缓存jwt中的负载信息,key为用户主键,value为jwt中的loginKey;用户登录时先根据主键从缓存中得到旧loginKey,根据旧loginKey去UserCache删除旧用户信息,达到挤掉的效果;挤掉后存储本次登录的新pkId -> loginKey及loginKey -> user;退出逻辑与挤掉操作类似。
-
UserCache:缓存本次登录的用户信息,本次登录会话的用户基本信息、角色、权限等数据都从这里获取;登录有效性也依靠此缓存的存在性来判定。
以上是关于上传二维码登录设计思路的主要内容,如果未能解决你的问题,请参考以下文章