猿问

使用 ClaimsIdentity 通过 AAD 图检索用户配置文件

我正在使用 OpenId Connect 基于 Azure Active Directory 构建用户身份验证。我可以使用我在 AAD 中的帐户成功登录我的网站。登录后,我想通过 AAD 图 API 检索我的帐户信息。


我可以通过 ClaimsIdentity 获取用户 ID:


ClaimsIdentity identity = this.User.Identity as ClaimsIdentity;

string userID = identity.GetUserId();

我可以通过图形 API 获取用户信息:


public IUser GetProfileById(string userID)

{

    ActiveDirectoryClient client = GetAadClient();

    var user = client.Users.Where(x => x.ObjectId == userID).ExecuteSingleAsync().Result;

    return user;

}

但是,存储在 ClaimsPrincipal 上的用户 ID 似乎不是 AAD 中的对象 ID,因此我需要找到其他一些方法来检索用户信息。另一种选择可能是根据电子邮件地址查找用户,但我也不知道如何执行此操作。任何帮助或建议将不胜感激。


犯罪嫌疑人X
浏览 115回答 2
2回答
随时随地看视频慕课网APP
我要回答