Azure Active Directory - 支持多租户同意的应用场景

时间:2017-10-02 16:53:00

标签: azure azure-active-directory

场景:我正在开发一个利用Azure Active Directory的多租户同意的应用程序。该应用程序可以被认为是闭环星形网络。我想做以下事情: 1.在设计时可以“看到”我的应用的白名单租户。 2.启用基于证书的身份验证 - 在单个租户中,这将是直截了当的。但是,我对多租户场景中的含义感到有些困惑。每个应用程序(即组织)都带有自己的证书。在S2S方案中,客户端组织的租户节点中的节点将安装这些证书,并且客户端组织的AAD应用程序的keyCredential将配置公钥令牌。然后,如何在位于完全不同的租户中的目标“资源”应用程序上验证此声明。 3.我在我的应用程序中公开了oAuth2Permissions,并希望使用PowerShell自动化场景。我有一些示例代码单独执行以下行:

--html-in-header

Set-AzureADApplication调用始终失败,并显示以下错误

Set-AzureADApplication:执行SetApplication时发生错误 代码:Request_BadRequest 消息:除非首先禁用属性值,否则无法删除属性值。

我相信我可能不得不删除使用New-AzureRmADApplication调用创建的默认“user_impersonation”oAuth2Permission,但没有我尝试过的工作。如何删除特定的oAuth2Permissions或用Set-AzureADApplication替换它们?

1 个答案:

答案 0 :(得分:1)

此处的问题是新应用程序附带默认的OAuth 2权限,并且您尝试SET一个全新的权限,而不包括旧的默认权限,这与DELETE相同操作

一种解决方案是阅读应用程序上的所有现有OAuth 2权限,然后将新权限与现有权限一起添加,然后执行SET调用。这将避免"删除"正在进行的电话。

另一个选择是做API,因为API警告你。存在OAuth 2权限,在删除之前需要IsEnabled=$false。在尝试添加新权限之前,您可以读取旧权限,禁用权限,然后将其删除。

我相信这些解决方案中的任何一个都可以解决您的特定错误消息。要完全清楚,我并不真正了解你的情况,所以即使你解决了这个问题,我也不知道你是否会实现你的最终目标。

如果有帮助,请告诉我。