首页 > 解决方案 > 使用 Azure AD 获取登录用户的员工 ID 字段

问题描述

我们正在将 OAuth 集成到我们的 MVC Web 应用程序中,它使用员工 ID 字段来获取各种报告。

我已经使用 userClaims.Name 来获取登录用户的电子邮件 ID,如下所示,并且还需要获取员工 ID。我无法使用如下所示的声明privatepersonalidentifier获取员工 ID

var userClaims = User.Identity as System.Security.Claims.ClaimsIdentity; string id = System.Security.Claims.ClaimsPrincipal.Current.FindFirst("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier").Value; GlobalHelpers.EmailId = userClaims.Name;

如果你们中的一个人建议如何使用 Claims 对象获取员工 ID,那就太好了。

标签: model-view-controlleroauthazure-active-directory

解决方案


这里有两种方式供大家参考:

1.使用Claims Mapping功能,关注本博客即可。但此功能目前处于预览阶段。

employeeId2.使用graph api,如下调用api获取属性。您将需要获取访问令牌才能调用它。有关详细信息,请参阅此答案

https://graph.microsoft.com/v1.0/me?$select=employeeId

推荐阅读