JWT jti和kid属性的说明

jti chaim=== JWT ID

“ jti”(JWT ID)声明为JWT提供了唯一的标识符。 标识符值的分配方式必须确保将相同值偶然分配给不同数据对象的可能性可以忽略不计; 如果应用程序使用多个发行者,则还必须防止不同发行者产生的值之间发生冲突。 “ jti”声明可用于防止重播JWT。 “ jti”值是区分大小写的字符串。 使用此声明是可选的。

 

kid ==== Representation of a Key ID for a Proof-of-Possession Key   === 所有权证明密钥的密钥ID表示

如果接收者能够使用密钥ID获得标识的密钥,则也可以通过使用密钥ID而不是传递实际密钥来识别占有证明密钥。 在这种情况下,JWT的发布者声明演示者拥有特定的密钥,并且接收者可以通过在JWT中包含“ cnf”声明来以加密方式确认演示者拥有该密钥的证据,该声明的值为JSON对象, JSON对象,其中包含用于标识密钥的“kid”成员。

以下示例演示了JWT的JWT Claims Set中的此类声明:

{
      "iss": "https://server.example.com",
      "aud": "https://client.example.org",
      "exp": 1361398824,
      "cnf":{
        "kid": "dfd1aa97-6d8d-4575-a0fe-34b96de2bfad"
      }
}

“ kid”值的内容是特定于应用程序的。 例如,某些应用程序可能选择使用JWK指纹[JWK.Thumbprint](https://tools.ietf.org/html/rfc7800#ref-JWK.Thumbprint)值作为“kid”值。



原文:https://tools.ietf.org/html/rfc7800#section-3.4
https://tools.ietf.org/html/rfc7519#section-4.1.7
posted @ 2020-08-24 19:45  星小梦  阅读(7251)  评论(0编辑  收藏  举报