我正在使用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);
有没有办法可以阅读他们的小组?或者我可以指示域管理员将此信息传递给应用程序?
答案 0 :(得分:1)
您可以使用memberOf方法执行此操作:https://graph.microsoft.com/v1.0/me/memberOf
。
请注意,您需要在初始令牌请求中添加以下permission scopes之一。
无论您选择哪个范围,他们都需要经过行政许可才能获得普通用户的授权。要做到这一点,您首先需要让他们通过“管理员同意”工作流程。此工作流程需要管理员,但一旦完成,您的应用程序的任何用户都将对限制范围具有“管理员同意”。
例如,您通常会通过将用户重定向到
来对用户进行身份验证 https://login.microsoftonline.com/common/oauth2/authorize?<your params>
。
由于此范围需要管理员,因此您首先需要通过将管理员身份验证重定向到
来获得管理员身份验证来获得同意 https://login.microsoftonline.com/common/adminconsent?<yours params>
。
管理员授予同意后,普通用户将能够使用OAUTH进行身份验证。