我的团队正在开发Office 365加载项,专门用于与托管的Web应用程序进行交互,并且我们遇到了似乎无法锁定的“需要权限/错误请求”错误下。
上下文:
开发和测试外接程序包括通过管理门户配置Azure Active Directory v2应用程序以及(出于开发目的)创建xml清单文件(适用于v1应用程序,而不是v2的json格式)可以通过O365界面进行侧面加载,以提供对我们托管应用的访问权限(当前只能对xml清单进行侧面加载)。在Office 365,Azure / Active Directory和Microsoft Graph中,我们仍处于处理过程中,文档非常广泛,而且似乎并不总是最新的。
问题描述:
有时,我们遇到的问题之一是在单击插件的工具栏图标时遇到“错误请求”对话框消息(在浏览器对话框中,标题为“需要权限”)。所请求的实际URL与https://store.office.com/client/consentnotification.aspx相似,其中包含代表我们的应用程序的多个参数及其必需的权限。这导致HTTP 400的唯一响应内容为“错误请求”。
这是在用户单击O365应用程序工具栏中的加载项时发生的,并且发生在用户必须授权加载项权限的时候。
此错误似乎与应用程序配置有关,但我们似乎无法明确说明具体程度(即,某些开发人员遇到了该错误,而其他开发人员则没有。如果重新创建Azure,有时会出现该错误使用门户网站的一个版本或另一个版本的Active Directory应用程序(当前有两个版本,而v2版本处于预览状态)。
任何人都可以提供关于可能导致这种情况的建议,或提供有关可能发生这种情况的信息吗?我们并没有受到阻碍,但是在开发中处理它很烦人。我已经进行了大量研究,试图弄清为什么会发生这种情况,并且我已经完成了许多有关配置Azure应用程序的教程/介绍,但均未成功。
答案 0 :(得分:0)
这与Azure Active Directory应用程序配置有关。
对于发生这种情况的应用程序,AADv2应用程序清单使用的"signInAudience"
值为"AzureADMyOrg"
。对于正常运行的情况(即正确填充权限请求对话框),"signInAudience"
设置为"AzureADandPersonalMicrosoftAccount"
。
经过一些测试,针对我们特定问题的解决方案似乎是手动将AADv2应用程序清单(json)编辑为具有"signInAudience": "AzureADandPersonalMicrosoftAccount"
,或通过将应用程序的“身份验证支持的帐户类型”设置设置为“任何组织目录中的帐户”(这将导致清单"signInAudience": "AzureADMultipleOrgs"
的清单设置似乎也起作用)。