我们有一个使用本地 AD 来获取用户信息的应用程序。一些客户希望迁移到云并正在使用 Azure AD。我们扩展了应用程序以通过 owin 登录用户,现在我们通过 Microsoft Graph 获取用户。
但是,我们无法从 Microsoft Graph 获得完整的用户配置文件。我们想要获取用户的所有属性,而不仅仅是基本属性。
var client = new RestClient(string.Format("https://graph.microsoft.com/v1.0/users/{0}", userEmail));
request = new RestRequest();
request.Method = Method.GET;
request.AddHeader("Authorization", _token.Token);
var reponse = client.Execute(request);
不过,这只给了我一些信息,例如,我没有从中得到“部门”。是否可以在 azure 中配置应该返回的内容,如果可以,那么返回哪里?或者我需要 /users/
以外的东西吗?
不同的客户可能有不同的特殊属性需要获取。因此,最好的解决方案是拥有一个端点来调用和获取所有内容,包括 azure ad 中不标准的特殊属性。之后我可以在我这边解析它。这可能吗?
该应用程序有权读取基本配置文件和完整配置文件。我还需要什么吗?
原文由 user2235494 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是 Graph API 的正常行为,请参阅 此处的 文档和此摘录:
您必须在选择中指定所有字段,因为
$select=*
将仅输出 Graph API 实现中的关键字段。所以你将无法得到你所要求的(可变自定义字段)。
有关用户字段的更多信息,请参见 此处