我正在使用 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,因此我需要找到其他一些方法来检索用户信息。另一种选择可能是根据电子邮件地址查找用户,但我也不知道如何执行此操作。任何帮助或建议将不胜感激。
相关分类