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

时间:2018-10-24 18:44:12

标签: jwt

根据the docs of Identity Server,每个令牌中始终存在以下四个声明:

  • 发行方名称- iss
  • 客户端ID- client_id
  • 生命周期- exp
  • 范围- nbf

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

我什至检查了disambiguation on Wikipedia,但根本没有与令牌相关的信息。

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

1 个答案:

答案 0 :(得分:1)

不早于

这就是nbf的意思。

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

请参见RFC 7519中的定义:

  

4.1.5. "nbf" (Not Before) Claim

     

nbf(不早于)声明标识了   不得接受JWT进行处理。的处理   nbf声明要求当前日期/时间必须晚于或   等于nbf声明中列出的不早日期/时间。   实施者可以留出一些余地,通常不会再留有余地   几分钟,以解决时钟偏斜。它的值必须是   包含NumericDate值的数字。该声明的用途是   可选。

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


解决您的奖励问题

重要的是要强调nbfstandard的声明registered in IANA,而client_id不是。但这不会阻止使用client_id

使用JWT的人员可以随意定义索赔名称。但是,RFC 7519中定义的声明故意较短:

  

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

该文档还声明以下内容:

  

由于此规范的核心目标是使结果表示形式紧凑,因此建议名称简短-即,在没有令人信服的理由的情况下不要超过8个字符。