adal.js多租户身份验证上的AADSTS65005错误

时间:2017-05-22 17:49:22

标签: javascript azure azure-active-directory

我正在尝试将adal.js集成到启用了多租户的SPA中。我按照here指令配置了AAD应用程序。

我启用了MULTI-TENANT并将oauth2AllowImplicitFlow设置为true。

以下是我用来设置adal.js的代码

adalProvider.init( { clientId: sessionStorage.getItem(Constant.adalHelper.AadAppId), endpoints: angular.fromJson(sessionStorage.getItem(Constant.adalHelper.AdalResourceMap)), extraQueryParameter: "nux=1", instance: sessionStorage.getItem(Constant.adalHelper.AadInstance), popUp: false, redirectUri: window.location.origin + "/login", requireADLogin: true, tenant: sessionStorage.getItem(Constant.adalHelper.AadTenant) }, $httpProvider); 当我将租户设置为AAD app的租户名称时,一切正常。但是,只要我将租户改为“普通”。身份验证失败,如下所示:

AADSTS65005:应用程序“https://xxxxxxx/xxxxxx”要求访问已删除或不再可用的资源的权限。联系应用程序供应商。

1 个答案:

答案 0 :(得分:0)

根据描述,您正在为多租户开发多层应用程序。

多层应用程序有两种情况。

一个是单个租户中的多个层(客户端和资源应用都在开发人员的租户上)。在这种情况下,我们需要将客户端添加到资源的 knowClientApplications

第二种情况是多个租户中的多个层(客户端和资源应用程序位于不同的租户中)。在这种情况下,用户需要单独授予权限。首先,他/她需要授予资源应用程序的权限,然后他/她可以使用授予客户端应用程序。

根据错误消息,请确保资源应用程序可用于使其适用于客户端应用程序。有关多租户应用场景的更多详细信息,您可以参考this link