NBF 在 JWT 上下文中代表什么?

Kon*_*ten 8 jwt

根据Identity Server 的文档,每个令牌中始终提供以下四个声明:

  • 发行人名称 - iss
  • 客户端 ID - client_id
  • 终身 -经验值
  • 范围 - nbf

鉴于生命周期是根据到期时间计算的,我理解除最后一个之外的所有代码。代码“ NBF ”代表什么?

我什至检查了维基百科上的消歧义,但根本没有任何与令牌相关的内容。

奖金问题。代码格式不同的原因是什么?我不禁想知道为什么client_id不遵循相同的模式并设置为cid。我感觉到一些历史背景......

cas*_*lin 13

之前没有

就是这个nbf意思。

此声明的使用是可选的,它标识了不得接受令牌的时间

请参阅RFC 7519中的定义:

4.1.5. “nbf”(不早于)声明

(不早于)声明nbf标识了不得接受 JWT 进行处理的时间。索赔的处理 nbf要求当前日期/时间必须晚于或等于索赔中列出的日期/时间nbf。实施者可以提供一些小的余地,通常不超过几分钟,以解决时钟偏差。它的值必须是包含 NumericDate 值的数字。此声明的使用是可选的。

令牌的生命周期从nbf声明中规定的时间之后开始,到声明中规定的时间结束exp


解决您的奖金问题

需要强调的是,这nbf在 IANA 中注册的标准声明,而并非如此。但并不妨碍使用。client_idclient_id

使用 JWT 的人可以随意定义声明名称。然而, RFC 7519中定义的声明故意很短:

所有名称都很短,因为 JWT 的核心目标是使表示形式紧凑。

该文件还规定了以下内容:

因为本规范的核心目标是使结果表示变得紧凑,所以建议名称简短——也就是说,如果没有令人信服的理由,不要超过 8 个字符。