我制作了一个web应用程序,它使用微软图形和作用域profile
、openid
、email
和User.Read
。这个很好用。
现在我想包括offline_access
、User.Read
、Mail.Send
、Calendars.ReadWrite
、Directory.ReadWrite.All
、Directory.AccessAsUser.All
、User.Read.All
、Files.ReadWrite.All
、Files.Read
、Files.ReadWrite
和Sites.Read.All
作用域。
当我尝试登录时,我会收到这样的消息:
您无法访问此应用程序。 教程示例应用程序需要获得访问您组织中只有管理员才能授予的资源的权限。请请求管理员授予该应用程序的许可,然后你才能使用它。
我在https://apps.dev.microsoft.com/
注册了该应用程序,并设置了以下图形权限:
使用PHP,我使用以下内容
use Microsoft\Graph\Graph;
use Microsoft\Graph\Model;
const CLIENT_ID = 'xxx';
const CLIENT_SECRET = 'xxx';
const REDIRECT_URI = 'xxxx';
const AUTHORITY_URL = '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.AccessAsUser.All User.Read.All Files.ReadWrite.All Files.Read Files.ReadWrite Sites.Read.All';
并创建authorisationUrl
$authorizationUrl = $provider->getAuthorizationUrl();
那么,我如何让管理员授予访问权限呢?
发布于 2017-11-08 16:18:21
为了获得管理员的同意,您需要有一个管理员,以便租户通过/adminconsent
进行身份验证。这个URL的原型是(仅用于可读性的换行):
https://login.microsoftonline.com/common/adminconsent?
client_id=[APPLICATION ID]&redirect_uri=[REDIRECT URI]
我已经写了一篇关于这个的博客文章,它将帮助您了解这是如何工作的:v2端点与行政同意。
https://stackoverflow.com/questions/47178039
复制相似问题