移动端与服务器端之间的 token 怎么设计?
Java技术栈
共 858字,需浏览 2分钟
·
2021-08-29 04:18
点击关注公众号,Java干货及时送达
作者:做个前端
链接:https://www.jianshu.com/p/e07f51c5c8bd
网上关于移动客户端与服务器数据传输之间的 token 的细节使用好像都没有详细的说明,基本都是一笔带过。对于简简单单的加入一个固定的参数 token,其实是很容易被抓包的。
介绍
下面说一下我自己的方案:
![](https://filescdn.proginn.com/9a4e3cbaa61bce82de9180b1e5b808c0/a06bc9fe046b89395bf9b3ffc3f68596.webp)
启动页判断本地是否存在 token
是因为启动页在第一个页面,一般都会有几秒的等待时间,是不做网络请求操作的,而且页面使用率高。这样随机更新可以说安全性高。
a)本地存在 token
3)存在则生成新的token 存储在 redis 中,删除旧的 token
4)不存在则判断该用户是否存在另一个与之不相等的 token
5)存在与之不相等的 token则说明该用户账号在其他设备登录
b)本地不存在 token
退出用户
网络请求删除 redis 中的token,并删除本地的 token
![](https://filescdn.proginn.com/2953cfce58c67ac789edb1e0e165ad2d/365c1d7264c3ac428e9dba31a5b32bab.webp)
![](https://filescdn.proginn.com/ca7380acb7b023ff96c309e0a5f00df5/fbe19a9f9248f192d54efe0e9695eefe.webp)
![](https://filescdn.proginn.com/645cb423a99fb395b60020759104f8e3/758d4c4dc744ad44eb2f9993b6637a87.webp)
![](https://filescdn.proginn.com/d713bd4e27fad82e88fdc560bcbe18fc/ace370d6dd3510140f59b8301884f3d1.webp)
![](https://filescdn.proginn.com/2df5011c8ae4fb351fc06da7408c50b2/0388b4c16f3f8aaee0a6dd5568731285.webp)
关注Java技术栈看更多干货
![](https://filescdn.proginn.com/a5f9287c61ba8cefb93ee2eaacdbe252/485100038af1b6a5cb420c5e023195a8.webp)
评论