步骤:
用户登录后,通过JWT设计将用户数据存在token返回给客户端
每次请求客户端携带token
问题:
因为用户数据是存在token中的,比如所属角色等,如果用户信息发生更改,token是否要更新?
因为设计的机制是在接口请求前有一个中间层去做权限验证,一旦token更新,用户需要重新登录,影响体验。
目前解决方案:
只用token做权限验证,用户的数据根据token中的用户id去数据库中获取,总觉得这样很怪,希望得到更好的解决办法
步骤:
用户登录后,通过JWT设计将用户数据存在token返回给客户端
每次请求客户端携带token
问题:
因为用户数据是存在token中的,比如所属角色等,如果用户信息发生更改,token是否要更新?
因为设计的机制是在接口请求前有一个中间层去做权限验证,一旦token更新,用户需要重新登录,影响体验。
目前解决方案:
只用token做权限验证,用户的数据根据token中的用户id去数据库中获取,总觉得这样很怪,希望得到更好的解决办法
15 回答8.4k 阅读
5 回答4.8k 阅读✓ 已解决
8 回答6.2k 阅读
5 回答3.2k 阅读✓ 已解决
4 回答2.4k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
jwt的token携带的信息应该允许有偏差,用户有关权限的信息也不会频繁更改。没必要更新token,jwt都有一个过期时间,在过期时间没有到来之前应该保持token不变。
你的解决方案也是可行的,去数据库取最新数据,但如果这样做就没必要用jwt了,你可以生成一个很短的uuid token。