设计token的问题

步骤:
用户登录后,通过JWT设计将用户数据存在token返回给客户端
每次请求客户端携带token

问题:
因为用户数据是存在token中的,比如所属角色等,如果用户信息发生更改,token是否要更新?
因为设计的机制是在接口请求前有一个中间层去做权限验证,一旦token更新,用户需要重新登录,影响体验。

目前解决方案:
只用token做权限验证,用户的数据根据token中的用户id去数据库中获取,总觉得这样很怪,希望得到更好的解决办法

阅读 2.3k
2 个回答

jwt的token携带的信息应该允许有偏差,用户有关权限的信息也不会频繁更改。没必要更新token,jwt都有一个过期时间,在过期时间没有到来之前应该保持token不变。

你的解决方案也是可行的,去数据库取最新数据,但如果这样做就没必要用jwt了,你可以生成一个很短的uuid token。

我最近刚好在学token,角色权限也了解了一点。
可以在用户改变权限的时候,生成一个新的token替换现有的token就好了,这样不用重新登陆。不知道对不对!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题