嵌套 JWT 令牌声明

问题描述 投票:0回答:1

只是一个关于 JWT 规范和常见 JWT 最佳实践的简单问题。我可以/应该使用嵌套对象作为 JWT 令牌声明还是应该使用前缀声明?这两个似乎都是有效的(至少它都是由像https://jwt.io这样的网站解码的),但我不确定是否有关于选择这两个选项中哪一个的指南。

选项1:

{
  "iat": 1516239022,
  "user.firstName": "John",
  "user.lastName": "Doe"
}

选项2:

{
  "iat": 1516239022,
  "user": {
    "firstName": "John",
    "lastName": "Doe"
  }
}
json security jwt
1个回答
0
投票

它们有两种不同的含义。前者为3项索赔,后者为2项索赔。如果理解user.firstName

所有
观众也理解
user.lastName
,那么它就是一个次要的语义细节。然而,在第二种情况下,观众有义务将这一主张视为全部或全部。他们必须处理名字和姓氏。在第一种情况下,观众认出
user.firstName
而不认出
user.lastName
是有意义的。

理论上,在第二种情况下,名字字段和姓氏字段之间可能存在一些复杂的交互,不能通过简单地忽略其中一个或另一个来处理。

© www.soinside.com 2019 - 2024. All rights reserved.