gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 22:44:45 25 4
gpt4 key购买 nike

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

最佳答案

感谢@juunas 我找到了类型:

ClaimsIdentity identity = this.User.Identity as ClaimsIdentity;
string objectID = identity.Claims.FirstOrDefault(x => x.Type == "http://schemas.microsoft.com/identity/claims/objectidentifier")?.Value;

然后可以使用对象ID通过AAD图形API获取用户信息。

关于c# - 使用 ClaimsIdentity 通过 AAD 图检索用户配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50529142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com