JWT jti uniqueness

时间:2017-03-25 23:37:32

标签: jwt

我很难理解我应该如何在JWT中使用jti声明。据我所知,在其他SO问题和在线文档中,我们的想法是它们应该是独特的,但在什么范围内是独一无二的?每个站点/应用程序的jti?每个令牌/用户jti?如果我有一个特定于用户的jti,那么JWT的状态是无状态的,因为我需要以某种方式跟踪令牌吗?

我很想获得一些帮助,了解如何使用jti,或者我可能根本不需要它。

1 个答案:

答案 0 :(得分:0)

jti范围内应该是唯一的,以防止两个相等的JWT。

请参阅RFC 7519

  

<强> 4.1.7。 “jti”(JWT ID)索赔

     

“jti”(JWT ID)声明为JWT提供唯一标识符。      标识符值必须以确保的方式分配      相同值的概率可以忽略不计      意外分配给不同的数据对象;如果申请      使用多个发行者,必须在值之间防止冲突      由不同的发行人制作。可以使用“jti”声明      防止JWT被重播。 “jti”值是一个案例 -      敏感字串。使用此声明是可选的。

如果您需要一个黑名单来撤销令牌并确保相同的JWT不会发出两次(当包含相同的内容而没有时间戳声明)时,它可能会很有用。