gpt4 book ai didi

asp.net-core - 为什么 ClaimTypes.NameIdentifier 没有映射到 'sub' ?

转载 作者:行者123 更新时间:2023-12-03 14:39:51 24 4
gpt4 key购买 nike

使用 ASP.NET Core 2.2 和 Identity Server 4 我有以下 Controller :

[HttpGet("posts"), Authorize]
public async Task<IActionResult> GetPosts() {

var authenticated = this.User.Identity.IsAuthenticated;

var claims = this.User.Identities.FirstOrDefault().Claims;

var id = this.User.FindFirstValue(ClaimTypes.NameIdentifier);

}

我得到所有 claims但是 id为空...

我检查了 claims 中的所有值我有一个值为 1 的“子”声明。

为什么 ClaimTypes.NameIdentifier 没有映射到“sub”?

最佳答案

我假设在 OIDC 配置中,您已经使用以下命令清除了 Microsoft JWT token 处理程序上的入站声明类型映射:

JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();

然后,您可以手动设置声明 sub 的声明类型映射。 :
JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();

JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Add("sub", ClaimTypes.NameIdentifier);

关于asp.net-core - 为什么 ClaimTypes.NameIdentifier 没有映射到 'sub' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57998262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com