Azure active directory Microsoft Graph API工作帐户使用便笺进行授权。读取范围需要管理员批准
我正在尝试使用Microsoft Graph API V2.0访问用户的OneNote笔记本 我正在尝试使用以下链接示例通过OAuth进行授权:Azure active directory Microsoft Graph API工作帐户使用便笺进行授权。读取范围需要管理员批准,azure-active-directory,microsoft-graph-api,onenote,Azure Active Directory,Microsoft Graph Api,Onenote,我正在尝试使用Microsoft Graph API V2.0访问用户的OneNote笔记本 我正在尝试使用以下链接示例通过OAuth进行授权: https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize? response_type=code &client_id={id} &redirect_uri={url} &scope=Notes.Read%20off
https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?
response_type=code
&client_id={id}
&redirect_uri={url}
&scope=Notes.Read%20offline_access
&state={state}
当我使用工作帐户登录时,我会收到一条消息,上面说:
{app_name}需要权限才能访问组织中只有管理员才能授予的资源。请先请求管理员授予此应用的权限,然后才能使用它
以及:
消息:AADSTS90094:授予需要管理员权限
使用管理员帐户我没有问题
从中,所有注释范围(即Notes.Read
、Notes.ReadWrite
、Notes.Create
或Notes.ReadWriteAll
)均无需管理员同意
是否有任何理由请求管理员权限?当Azure AD实例/租户禁用“用户可以同意应用程序代表他们访问公司数据”时,就会发生这种情况。这是Azure AD中的全局用户设置: 当此选项设置为
否
时,将阻止用户执行流:
为了避免这种情况,管理员需要代表用户同意,或者需要重新启用用户同意选项(这是推荐的解决方案,完全关闭用户同意几乎没有合理的理由) 我们写了一篇详细的文章,讨论了最常见的情况。我怀疑问题已在第一部分中解决,您的IT管理员需要允许用户请求访问。您可以添加应用程序注册的清单(您可以从Azure门户或
apps.dev.microsoft.com
,具体取决于您注册的位置)吗?您特别需要哪个部分?我可以授权使用例如清单是应用程序注册的JSON表示(即,您的AppId、名称等)。您可以从Azure门户或(取决于您注册应用程序的位置)获得它。这就足够了吗?无论您尝试针对哪个广告租户进行身份验证,都会发生这种情况吗?我想知道广告租户是否禁用了“用户可以同意应用程序代表他们访问公司数据”选项。感谢您的回复。我认为残疾人在这里不是问题,因为他们不需要管理员的同意。为什么它与https://login.microsoftonline.com/organizations/oauth2/authorize
endpoint?为什么使用just时这不是问题?你是说这个AppId与https://login.microsoftonline.com/organizations/oauth2/authorize
但不是https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize
?或者你是说不同的应用程序Id?对不起,不同的应用程序Id。与https://login.microsoftonline.com/organizations/oauth2/authorize
不是为v2.0
端点注册的(这里可能会有混淆),在您自己的租户中向v1注册的应用程序的行为会有所不同。这将阻止用户授权外部(多租户)应用程序,租户管理员创建的内部应用程序已被授权。好的,谢谢!最后一个问题,为什么需要管理员权限而不需要?