如何登录多租户应用程序?

时间:2017-03-21 15:24:51

标签: azure-active-directory adal

我有一个多租户应用程序,当我从同一个租户登录时工作正常,但是当从另一个租户以用户身份登录时无法正常工作。例如,运行此多租户Web API示例时,我会得到相同的行为:

有源目录的dotnet-的WebAPI-多租户 - 窗口店

从同一个租户登录工作正常。以不同于承载Web API的租户的用户身份登录时,出现以下错误:

错误:

  

AADSTS70001:在目录中找不到已识别[GUID]的应用程序   [some_tenant]

只有几点:

  • 我修改了web api的AD应用程序注册:Multi-tenanted开关设置为Yes;清单中的knownClientApplications属性包括客户端应用程序的应用程序ID。
  • 客户端未能调用AcquireTokenAsync。该调用中的资源是来自web api的AD应用程序注册的App ID URI。
  • 客户端使用的权限是:https://login.microsoftonline.com/common

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

Daniel表示我编辑了AD客户端应用程序的清单,并将 availableToOtherTenants 设置为true。

Updated client manifest

现在一切正常。

答案 1 :(得分:0)

请确保所有设置都正确无误。以下是参考设置的图:

enter image description here

之后,代码示例运行良好,两个应用程序注册到测试租户: enter image description here

答案 2 :(得分:0)

确保Azure Portal中的所有应用都有"availableToOtherTenants": true的客户端和服务应用。