技术汇总:第十六章:关于登录与退出的token
当两个设备都操作登录时,后操作的设备将具备登录权限,而之前登录的设备失去登录权限。
通常的登录业务,按照 token 随机生成的话,不同设备拥有不同的 token ,根据 token 来作为 key 保存登录数据,是可以同时登录同一个帐号,并且都保持在线的。因为这些 token 里面如果存登录状态的话,都会是已登录模式。
既然有这个唯一设备登录的需求,那就单独设置一个 user_login 的规则好了,比如 @caola 提供的方案, token 记录会话数据, userid 记录最后登录的 token ,这样只要有新请求过来,拿它的 token 以及 userid 里面存的 token 比较,不一致,就说明此登录已失效。
将用户输入的 账号和密码 提交给服务器; 服务器对其进行校验,若账号和密码对得上则校验通过,说明登录成功,并生成一个token值,将其保存在数据库,同时也返回给客户端; 客户端拿到返回的token值后,可将其保存在本地,作为公共参数,即以后每次请求服务器时都携带该token,提交给服务器,让服务器校验。 服务器接收到请求后,会取出请求头里的token值与数据库存储的token进行对比校验。若两个token值相同,则说明用户登录成功过,且当前正处于登录状态,此时正常返回数据,让APP显示数据。若两个值不一致,则说明原来的的登录已经失效,此时返回错误状态码,提示用户跳转至登录界面重新登录。用户每进行一次登录,登录成功后服务器都会更新个token新值返回给客户端。
个人观点:
我想用 { token: userId } 的形式将登录后产生的 token 保存在 redis 中,当用户使用 token 登录时就根据 token 来找出对应的 id ,但是这样在用户重新登录(比如换个设备,之前没退出)时,清除之前保存的 token。
token找到userId,换设备登录的时候清除之前的token或者重新利用,观点仅供参考: 1、你的情况可能是token存在了本地,不想暴露任何用户信息,包括id,所以你生成的token作为key中肯定不包含任何的用户信息,目的就是为了通过token找到id,然后再查询出用户信息,像这种情况我目前也只是想到通过redis本身的有效期来清除这些,token的作用可以理解为一个session 2、另外一种情况,我自己就会通过本地存储的token+device_token(设备号)通过各种加密方式产生一个key,假如是同一个设备又没有过期的情况下可以反复使用
更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/120534938
相关文章
- Jgit的使用笔记
- 利用Github Action实现Tornadofx/JavaFx打包
- 叹息!GitHub Trending 即将成为历史!
- 微软软了?开源社区讨论炸锅,GitHub CEO 亲自来答
- GitHub Trending 列表频现重复项,前后端都没去重?
- Photoshop Elements 2021版本软件安装教程(mac+windows全版本都有)
- (ps全版本)Photoshop 2020的安装与破解教程(mac+windows全版本都有)
- (ps全版本)Photoshop cc2018的安装与破解教程(mac+windows全版本,包括2023
- 环境搭建:Oracle GoldenGate 大数据迁移到 Redshift/Flat file/Flume/Kafka测试流程
- 每个开发人员都要掌握的:最小 Linux 基础课
- 来撸羊毛了!Windows 环境下 Hexo 博客搭建,并部署到 GitHub Pages
- 超实用!手把手入门 MongoDB:这些坑点请一定远离
- 【GitHub日报】22-10-09 zustand、neovim、webtorrent、express 等4款App今日上新
- 【GitHub日报】22-10-10 brew、minio、vite、seaweedfs、dbeaver 等8款App今日上新
- 【GitHub日报】22-10-11 cobra、grafana、vue、ToolJet、redwood 等13款App今日上新
- Photoshop 2018 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2017 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2020 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2023 资源免费下载(mac+windows全版本都有,包括最新的2023)
- 最新版本Photoshop CC2018软件安装教程(mac+windows全版本都有,包括2023