我最近正在读JWT Tokens,我有一点时间;我有一个看起来很棒的想法,但我怀疑它在结束时并不是那么好。
我看到人们正在使用单一密钥加密令牌以实现全球目的。如果我为每个用户生成全新密钥,之后加入两个字符串并使用输出加密令牌怎么办?这将解决为不应该访问的用户创建黑名单的需要等等。我错过了什么?因为我确信有人对我有类似的想法,并且由于某种原因它并没有被广泛使用。我在哪里迷路了?
答案 0 :(得分:2)
JWT使用颁发者的私钥(通常是服务器)进行签名(未加密)。数字签名识别签名者并保护内容免于更改。
如果您修改有效JWT的有效负载,签名或创建假令牌,服务器就会拒绝它。这就是服务器不需要已发布令牌列表的原因,因为它可以加密验证令牌是否可信
您可以为每个用户创建不同的密钥,但不是必需的,因为您要证明服务器发出的令牌信任有效负载中包含的数据只需要一个密钥