为使用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);
这很好用,但我尝试允许访问多租户应用程序 - 组织中的用户只有在应用程序被其帐户管理员授予访问权限时才能登录。
我已实施第一部分 - 允许管理员用户启用 - as per this example。
所以此时我的应用程序列在第三方的Active Directory中。
我不确定租户的正确设置是什么。我尝试使用' common'但是它会显示一个对话框,询问个别用户是否要授予对应用程序的访问权限,这不是我正在寻找的。 p>
如果我正在创建一个直接的MVC应用程序,我将使用服务器上的app.UseOpenIdConnectAuthentication继续上面的示例。但是我的应用程序是一个带有Web Api后端的SPA,我还没能找到这个场景的多租户示例。
答案 0 :(得分:4)
配置应用程序以便与任何租户进行身份验证的正确方法(在您的方案中是您想要的)是使用common。
每个用户的同意是一项拨备考虑因素。如果您希望管理员代表整个组织同意该应用程序,您可以通过触发身份验证请求并向其附加prompt=admin_consent
来实施管理员同意流程。如果管理员执行身份验证流程以响应该请求,Azure AD将向管理员提供代表组织中每个人同意应用程序的机会。