我正在开发从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中扩展身份模型来获得名字的理想方法是什么?