在IdentityServer4和ASP.net Core中获取当前用户名称

3

我按照网站上的示例成功获得了Bearer令牌。

但是,在我的API控制器中如何获取当前用户的用户名?我使用了System.Security.Claims.ClaimsPrincipal,但名称为空。

谢谢。


检查索赔集合。 - leastprivilege
1个回答

2
HttpContext.User.FindFirst("email")?.Value

将“email”替换为名称。如果令牌中未设置名称声明,则名称声明也将为空。您还可以在IProfileService的实现中将此添加到令牌中。

claims.Add(new Claim(JwtClaimTypes.Name, user.UserName));

用户是指您的实体或其他内容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接