Active directory 带有多租户Azure Active Directory的ADAL.js

Active directory 带有多租户Azure Active Directory的ADAL.js,active-directory,azure-active-directory,adal,adal.js,Active Directory,Azure Active Directory,Adal,Adal.js,为使用ADAL.js提供的示例代码如下所示: window.config = { instance: 'https://login.microsoftonline.com/', tenant: '[Enter your tenant here, e.g. contoso.onmicrosoft.com]', clientId: '[Enter your client_id here, e.g. g075edef-0efa-453b-997b-de1337c29185]',

为使用ADAL.js提供的示例代码如下所示:

window.config = {
    instance: 'https://login.microsoftonline.com/',
    tenant: '[Enter your tenant here, e.g. contoso.onmicrosoft.com]',
    clientId: '[Enter your client_id here, e.g. g075edef-0efa-453b-997b-de1337c29185]',
    postLogoutRedirectUri: window.location.origin,
    cacheLocation: 'localStorage',  localhost.
};
var authContext = new AuthenticationContext(config);
这很好,但我正在尝试允许对多租户应用程序进行访问-来自组织的用户只有在其帐户管理员授予该应用程序访问权限的情况下才能登录

我已经实现了第一部分-允许管理员用户启用-

因此,此时我的应用程序列在第三方的Active Directory中

我不确定租户的正确设置应该是什么。我尝试使用“common”,但它显示了一个对话框,询问单个用户是否愿意授予对该应用程序的访问权限,这不是我想要的


如果我是直接制作MVC应用程序,我会继续上面的例子,在服务器上使用app.UseOpenIdConnectAuthentication。但是我的应用程序是一个SPA,带有Web Api后端,我还没有找到这种情况下的多租户示例。

配置应用程序以与任何租户进行身份验证的正确方法是使用common。 每用户同意是一个资源调配考虑事项。如果您希望管理员代表整个组织同意应用程序,您可以通过触发身份验证请求并向其附加
prompt=admin_approve
来实现管理员同意流。如果管理员响应该请求执行身份验证流,Azure AD将向管理员提供代表组织中所有人同意该应用的机会

不要使用租户(xyz.onmicrosoft.com),只需使用
common
作为租户:
adalConfig:{tenant:'common',clientId:'1068e0a3-…'//application id},