Azure active directory 管理员如何授予对应用程序的访问权限?
我制作了一个使用Microsoft Graph和scopesAzure active directory 管理员如何授予对应用程序的访问权限?,azure-active-directory,microsoft-graph-api,Azure Active Directory,Microsoft Graph Api,我制作了一个使用Microsoft Graph和scopesprofile、openid、email和User.Read的web应用程序。这个很好用 我现在想包括离线访问,用户.读取,邮件.发送,日历.读写,目录.读写.全部,目录.访问用户.全部,用户.全部文件.读写.全部,文件.读,文件.读写,和站点。读取。所有范围 尝试登录时,我收到以下消息: 您无法访问此应用程序 教程示例应用程序需要权限才能访问组织中只有管理员才能授予的资源。请先请求管理员授予此应用的权限,然后才能使用它 我在https
profile
、openid
、email
和User.Read的web应用程序。这个很好用
我现在想包括离线访问
,用户.读取
,邮件.发送
,日历.读写
,目录.读写.全部
,目录.访问用户.全部
,用户.全部
文件.读写.全部
,文件.读
,文件.读写
,和站点。读取。所有范围
尝试登录时,我收到以下消息:
您无法访问此应用程序
教程示例应用程序需要权限才能访问组织中只有管理员才能授予的资源。请先请求管理员授予此应用的权限,然后才能使用它
我在https://apps.dev.microsoft.com/
并设置以下图形权限:
使用PHP,我使用以下
使用Microsoft\Graph\Graph;
使用Microsoft\Graph\Model;
const CLIENT_ID='xxx';
const CLIENT_SECRET='xxx';
const REDIRECT_URI='xxxx';
警察局https://login.microsoftonline.com/common';
const AUTHORIZE_ENDPOINT='/oauth2/v2.0/AUTHORIZE';
const TOKEN_ENDPOINT='/oauth2/v2.0/TOKEN';
const SCOPES='profile openid email offline_access User.Read Mail.Send Calendars.ReadWrite Directory.ReadWrite.All Directory.accessuser.All User.Read.All Files.ReadWrite.All Files.Read Files.ReadWrite Sites.Read.All';
并创建授权URL
$authorizationUrl = $provider->getAuthorizationUrl();
那么,我如何才能让管理员授予访问权限呢?为了获得管理员同意,您需要让租户的管理员根据/adminapprove
进行身份验证。此URL的原型为(仅为可读性而换行):
https://login.microsoftonline.com/common/adminconsent?
客户端\u id=[应用程序id]&重定向\u uri=[重定向uri]
我已经就此写了一篇博文,这将有助于引导您了解其工作原理: 嗨,马克。谢谢你的文章。我仍然不清楚如何纠正这个错误。