多租户中的Azure管理员同意不起作用

时间:2018-09-20 10:35:17

标签: azure azure-active-directory multi-tenant

在多租户环境中,管理员同意存在一些问题。 这是我的结构。

  • 租户1
  • Tenant 2

我在租户1中注册了一个ActiveDirectory Aapp,名为“ App1”。 在此应用中,我设置了Microsoft Graph的权限。 然后我授予了此权限。

现在我想在租户2中也拥有这个App1,所以我要执行AdminConsent: https://login.microsoftonline.com/TenantID_of_Tenant2/adminconsent?client_id=ClientID_of_App1

效果很好。几分钟后,我在Tenant2中看到了App1,并且能够为Tenant2的用户授予对App1的访问权限。没问题。

因此,我不得不再给我的App1一些权限。所以我点击了 Tenant1中的“应用程序注册”,并为Microsoft Graph提供了更多权限。 然后,我单击Tenant1中的“企业应用程序”,选择我的App1->许可,然后选择“授予Tenant1的管理员同意”。打开了一个新的浏览器,我能够在Tenant1中对App1进行管理员同意。

然后,我认为我必须在Tenant2中做同样的事情,因为它是第一次工作。因此,在Tenant2中,我还导航至ActiveDirectory-> Enterprise Applications->选择了我的App1->权限 在这里,我看到了我授予的第一个权限。然后,我单击“授予Tenant2的管理员同意”。已打开一个新的浏览器,但现在失败,出现以下错误: https://myRedirectURL/?error=access_denied&error_description=AADSTS65005%3a+The+application+%clientID_of_App1%27+asked+for+permissions+to+access+a+resource+that+has+been+removed+or+is+no+longer+available.+Contact+the+app+vendor.%0d%0aTrace+ID%TraceID%0d%0aCorrelation+ID%CorrelationIDaTimestampTimestamp&admin_consent=True&tenant=TenantID_of_Tenant2

更好地阅读:错误:

“ AADSTS65005。应用程序ID_App1要求访问已删除或不再可用的资源的权限。请与应用程序供应商联系。”

调用URL https://login.microsoftonline.com/TenantID_of_Tenant2/adminconsent?client_id=ClientID_of_App1

时遇到相同的错误

但是我什么也没做...那么问题出在哪里?

1 个答案:

答案 0 :(得分:1)

对于重定向URI错误,您可以尝试以下步骤:

  1. 将请求中的资源设置为Azure AD。
  2. 确保在清单文件的WebApi的“ knowClientApplications”数组属性中配置了WebApp的客户端ID
  3. 确保所有权限都是正确的(将API作为委托权限添加到客户端)。
  4. 确保所有服务(网络应用和API)都是多租户
  5. 更新清单:
"availableToOtherTenants": true,
  "knownClientApplications": [
    "{client app application id}"
  ],

另请参见这些类似线程中的疑难解答步骤:

Azure AD error when fetching access token & login

The client application has requested access to resource 'https://outlook.office365.com'. This request has failed