【问题标题】:What is "at+jwt" in the header of my JWT?我的 JWT 标头中的“at+jwt”是什么?
【发布时间】:2022-01-21 02:23:15
【问题描述】:

我见过一些像这样的标记的标题。

{
  "alg": "HS256",
  "typ": "at+jwt"
}

我不清楚 at 代表什么,也不清楚它的含义。检查docs 并没有告诉我太多。谷歌搜索有点困难,因为关键字被视为介词。因此,那里的相关点击率也不多。

它是 IDS4(我们用来创建令牌的框架)特有的吗?那里也没有明显的记录,但这是通常的情况。我不会假设,因为我在context of Spring 中看到过它,但我太不确定了。

【问题讨论】:

  • 也许这有帮助:tools.ietf.org/id/draft-bertocci-oauth-access-token-jwt-00.html 我猜它只是代表“身份验证令牌”
  • @Jens 我已经检查了这篇文章,它让我非常烦恼,以至于他们从未说明 at 代表什么。如您所料,它可能是 authentication token,但也可能是 access tokenauth type... 我会觉得更多如果我在某处有一个 typ 字段的可能值列表,我很有信心。这看起来如此神秘和随机。 类型必须是'at+jwt'。为什么?如何?不开心...
  • 也许是更好的资源:@​​987654324@

标签: jwt


【解决方案1】:

https://datatracker.ietf.org/doc/html/rfc9068

本规范注册了“application/at+jwt”媒体类型, 可用于指示内容是 JWT 访问令牌。 JWT 访问令牌必须在“typ”标头中包含此媒体类型 显式声明 JWT 表示访问的参数 符合此配置文件的令牌。根据“类型”的定义 [RFC7515] 的第 4.1.9 节,建议“应用程序/” 前缀被省略。因此,使用的“典型”值应该是 “at+jwt”。有关详细信息,请参阅安全注意事项部分 防止 OpenID Connect ID 令牌的重要性(定义为 [OpenID.Core] 的第 2 节)被接受为访问令牌 实现此配置文件的资源服务器。

另请参阅https://datatracker.ietf.org/doc/html/rfc9068#section-4,了解您必须如何验证此配置文件后的令牌。

【讨论】:

  • 它回答了我的问题,但给我留下了一种信息空洞的感觉。我开始明白typ 的合法值没有详尽而明确的列表。尽管如此,我还是很想从根本上了解我作为它的价值出现的其他什么(合理地,实际上是)。是否常见,例如typ:it+jwt,其中 it 将是 identity token 派生自 ataccess token?我也有点不清楚明确要求 JWT 在其标头中声明为访问令牌的好处是什么。需要详细说明吗?
  • 引用datatracker.ietf.org/doc/html/rfc8725#section-3.11 使用显式类型 有时,一种 JWT 可能会与另一种混淆。如果某种特定类型的 JWT 容易受到这种混淆,则该 JWT 可以包含显式 JWT 类型值,并且验证规则可以指定检查类型。这种机制可以防止这种混乱。显式 JWT 类型是通过使用“typ”标头参数完成的。 typ 值是排除了“application/”部分的常规 mime 类型。
  • 基本上这可以防止一个没有互斥验证规则的 JWT 在不应该使用的地方被混淆和接受。
猜你喜欢
  • 1970-01-01
  • 2018-10-09
  • 2017-07-02
  • 2021-11-04
  • 2015-09-05
  • 1970-01-01
  • 2018-06-26
  • 2018-10-16
  • 2020-06-09
相关资源
最近更新 更多