是否可以读取Microsoft Graph API中的用户组成员身份?

时间:2017-04-14 12:11:22

标签: microsoft-graph

我正在使用microsoft graph api使用他们的域名电子邮件将用户登录到webapp。

我可以使用

阅读用户的基本个人资料
$token = $_SESSION['access_token'];
$graph = new Graph();
$graph->setAccessToken($token);
$response = $graph->createRequest("GET", "/me")->setReturnType(Model\User::class)->execute();
var_dump($response);

有没有办法可以阅读他们的小组?或者我可以指示域管理员将此信息传递给应用程序?

1 个答案:

答案 0 :(得分:1)

您可以使用memberOf方法执行此操作:https://graph.microsoft.com/v1.0/me/memberOf

请注意,您需要在初始令牌请求中添加以下permission scopes之一。

  • Directory.Read.All
  • Directory.ReadWrite.All
  • Directory.AccessAsUser.All

无论您选择哪个范围,他们都需要经过行政许可才能获得普通用户的授权。要做到这一点,您首先需要让他们通过“管理员同意”工作流程。此工作流程需要管理员,但一旦完成,您的应用程序的任何用户都将对限制范围具有“管理员同意”。

例如,您通常会通过将用户重定向到

来对用户进行身份验证

https://login.microsoftonline.com/common/oauth2/authorize?<your params>

由于此范围需要管理员,因此您首先需要通过将管理员身份验证重定向到

来获得管理员身份验证来获得同意

https://login.microsoftonline.com/common/adminconsent?<yours params>

管理员授予同意后,普通用户将能够使用OAUTH进行身份验证。