关于 blazor web assembly 和 web api 声明的 jwt 声明
jwt claim on blazor web assembly and web api claim
当我在服务器上生成 jwt 令牌时,我的声明之一是 ClaimType.Name,
但是在 blazor web assembly 中,当我解析 jwt 令牌并获得声明时,
它的名称更改为 unique_name.
谁能解释为什么会这样?
在服务器上
new Claim(ClaimTypes.Name, user.Username);
在 Blazor Web 程序集上
"unique_name" = "myUsername"
这是设计使然。 This post 包含 JwtSecurityTokenHandler 代码摘录的详细信息。
您找到的规则来自这个用于映射的词典条目:
{ JwtRegisteredClaimNames.UniqueName, ClaimTypes.Name },
基本上,Microsoft Identity Claims 会(在适当时)转换为 JWT 标准名称。
当我在服务器上生成 jwt 令牌时,我的声明之一是 ClaimType.Name, 但是在 blazor web assembly 中,当我解析 jwt 令牌并获得声明时, 它的名称更改为 unique_name.
谁能解释为什么会这样?
在服务器上
new Claim(ClaimTypes.Name, user.Username);
在 Blazor Web 程序集上
"unique_name" = "myUsername"
这是设计使然。 This post 包含 JwtSecurityTokenHandler 代码摘录的详细信息。
您找到的规则来自这个用于映射的词典条目:
{ JwtRegisteredClaimNames.UniqueName, ClaimTypes.Name },
基本上,Microsoft Identity Claims 会(在适当时)转换为 JWT 标准名称。