在IdentityServer4&中获取当前用户名ASP.net核心

时间:2016-12-28 05:57:38

标签: asp.net-core-mvc identityserver4

我按照网站上的示例,我能够获得持票人令牌。

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

感谢。

1 个答案:

答案 0 :(得分:0)

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

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

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

用户是您的实体或wharever。