token 的设计方案,这个厉害!
开发者全社区
共 915字,需浏览 2分钟
·
2021-08-05 16:19
作者:做个前端 链接:https://www.jianshu.com/p/e07f51c5c8bd
网上关于移动客户端与服务器数据传输之间的 token 的细节使用好像都没有详细的说明,基本都是一笔带过。对于简简单单的加入一个固定的参数 token,其实是很容易被抓包的。
介绍
下面说一下我自己的方案:
启动页判断本地是否存在 token
为啥在启动页更新 token 呢?是因为启动页在第一个页面,一般都会有几秒的等待时间,是不做网络请求操作的,而且页面使用率高。这样随机更新可以说安全性高。
a)本地存在 token
1)客户端使用旧 token 请求更新 token
2)服务器判断 redis 是否存在 token
3)存在则生成新的token 存储在 redis 中,删除旧的 token
4)不存在则判断该用户是否存在另一个与之不相等的 token
5)存在与之不相等的 token则说明该用户账号在其他设备登录
6)不存在~则说明过期被删除或者在其他设备登录之后退出登录被删除(设置token过期时间为30天)b)本地不存在 token
1)有三种情况,一种重来没登录过,一种是在新设备登录,一种是登录后退出用户
退出用户
网络请求删除 redis 中的token,并删除本地的 token
评论