MVC获取Azure Active Directory身份验证用户的姓名

本文关键字:用户 身份验证 Directory 获取 Azure Active MVC | 更新日期: 2023-09-27 18:22:22

我可以使用获取经过身份验证的用户的用户名(电子邮件格式)

var autenticateduser = HttpContext.User.Identity.Name;

使用QuickWatch窗口,我可以使用以下表达式找到给定的姓名。有没有更干净的方法来获取这些信息?

(new System.Linq.SystemCore_EnumerableDebugView<System.Security.Claims.Claim>(((System.Security.Claims.ClaimsIdentity)(HttpContext.User.Identity)).Claims)).Items[5]

MVC获取Azure Active Directory身份验证用户的姓名

怎么样

ClaimsPrincipal cp = ClaimsPrincipal.Current;
string welcome = string.Format("Welcome, {0} {1}!", cp.FindFirst(ClaimTypes.GivenName).Value, cp.FindFirst(ClaimTypes.Surname).Value);

通过这种方式,您还可以获得非标准声明,您只需要知道密钥的名称,例如可以从openidconnect YOURDOMAIN/.annoughous/openid配置JSON响应中获得。

你好@用户。索赔。单身(a=>a.类型=="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname").Value!

system.security.claims.claimsprincipal.声明API参考