ClaimType.GivenName不返回我的名字

时间:2019-03-11 22:27:02

标签: asp.net-core asp.net-identity asp.net-core-2.1

我正在开发从Azure AD进行身份验证的.net core 2.2应用程序。我想在RAZOR Web应用程序的_LoginPartial.cshtml中获得用户的名字。我可以得到用户的姓氏和电子邮件,但不能得到名字。有没有办法得到这个?

这是我的登录部分视图中的内容:

Claim nameClaim = User.Claims.FirstOrDefault<Claim>(claim => string.Compare(claim.Type, "name", StringComparison.Ordinal) == 0);
    string userName = (nameClaim != null) && !string.IsNullOrEmpty(nameClaim.Value) ? nameClaim.Value : ((User != null) && (User.Identity != null) ? User.Identity.Name : string.Empty);

我也尝试过这个:

@User.FindFirst(System.Security.Claims.ClaimTypes.GivenName).Value

给定名称返回的电子邮件与名称和电子邮件属性相同!!

通过在asp.net中扩展身份模型来获得名字的理想方法是什么?

0 个答案:

没有答案