关于json网络令牌的快速提问。
当我的令牌过期时,我会根据当前令牌获得刷新令牌(不验证当前用户)。
那么当我更改用户的权限时会发生什么,并且不允许他从web api获取数据? 我应该将jwt存储在数据库中,以便我可以验证他的权限还是什么?
我已经读过,令牌被分成3个部分,其中包含一些用户信息。如果刷新令牌具有相同的信息,它如何才能有所不同?
我真的希望有人可以帮我解决这个问题。
Grtz, 罗宾
答案 0 :(得分:1)
那么当我更改用户的权限时会发生什么,并且他不能再从web api获取数据了?
您应该使令牌无效
我应该将jwt存储在数据库中以便我可以验证他的权限还是什么?
这有几个替代方案并不是一个简单的问题。见Invalidating client side JWT session
1)删除客户端令牌
2)令牌黑名单:存储在注销和放弃之间的令牌到期时间,标记已过期并在每个请求中检查。需要服务器存储
3)使用密码或权限摘要的哈希对令牌进行签名。如果签名字段发生更改,则以前的任何令牌都会自动无法验证。使用其他感兴趣的字段扩展此机制以进行签名。缺点是它需要访问数据库
如果刷新令牌具有相同的信息,它如何才能有所不同?
第一部分是令牌(签名算法)的标题,第二部分是有效负载(主题,名称,发行者,发布时间,到期等),第三部分是签名,它是在标头和有效负载。由于像“发布时间”这样的数据。会有所不同,签名字段会改变