如果他们的索赔/标题处于不同的顺序,两个JWT是否仍然被认为是平等的?

时间:2015-10-13 22:58:24

标签: jwt

如果我有两个JWT,它们的声明和标题集是相同的,但它们存储在json中的顺序是不同的,它们应该被认为是相同的吗?

澄清:

我知道作为JWT的用户,您不需要比较它们,但这不是我正在做的。

假设我们有一些jwt库,你有一些对象代表JWT的解码形式。如果我们从解码的JWT创建编码的JWT,然后将其应用于某个函数,该函数再次返回解码的JWT。如果由于解码过程导致某些集合中的声明或标题存储的顺序发生了变化,我们是否认为这两个解码的JWT是相等的?

更多地考虑这个问题,将标题和声明存储在一个有一些订单概念的集合中可能是错误的吗?使用像集合这样的东西会使这个问题消失吗?

1 个答案:

答案 0 :(得分:2)

取决于你对'不同'的意思。如果索赔是相同的,那么它们在转移的信息相同的意义上是相同的。但如果它们都有相同的签名,那么至少有一个签​​名无效。

此外,您根本不需要比较JWT声明。如果您正在存储令牌并比较给定的令牌,那么您应该重新审视为什么使用JWT而不是会话。

JWT旨在独立。由于JWT令牌是基于声明的身份验证,因此验证是针对签名进行的,而不是针对服务器上的任何内容。

相关问题