繁体   English   中英

多租户 Azure Active Directory 应用程序和 Msal 用于 Angular 6

[英]Multi-Tenant Azure Active Directory application with Msal for Angular 6

我们正在开发一个 SPA(单页应用程序),任何拥有有效 Azure 帐户的用户都可以使用它。 该应用程序使用 Azure 资源管理 (user_impersonation) 等权限来显示统计信息并监控一些 Azure 资源。

该应用程序是使用 Angualr 6+ 构建的,我们使用最新版本的Msal-Angular进行身份验证。 (安装了 rxjs-compact package 以支持 angualr 6+)

我已经使用配置的权限在 Azure(多租户)中注册了一个应用程序注册,但是我在配置 Msal-Angular 以支持多租户时遇到问题。

我们的配置适用于组织用户,但不适用于不在我的 Active Directory 中的个人帐户。

MsalModule.forRoot({
  clientID: environment.aadClientId,
  redirectUri: environment.redirectUri,
  authority: 'https://login.microsoftonline.com/organizations/',

  protectedResourceMap: [['https://management.azure.com/', ['https://management.azure.com/.default']]]
})

如果我尝试将权限更改为“普通”,如下所示:

' https://login.microsoftonline.com/common/ '

登录有效,但未正确获取范围,任何访问安全 API 的尝试,例如“ https://management.azure.com/ ”都会产生以下错误:

错误 为输入参数“范围”提供的值无效。 scope ' https://management.azure.com/.default openid 配置文件' 不存在。|invalid_scope

难道我做错了什么? 这可以用 Msal-Angular 实现还是我应该使用 Msal Core?

要允许个人帐户登录,您需要使用公共端点https://login.microsoftonline.com/common/

并且支持的帐户类型必须是“任何组织目录中的帐户(任何 Azure AD 目录 - 多租户)和个人 Microsoft 帐户(例如 Skype、Xbox)

在此处输入图像描述

但是: https://management.azure.com Z8A5DA52ED126447D359E70C0572 不支持您使用common端点和个人帐户时。 您只能在此处使用多租户用户。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM