【发布时间】:2020-02-01 05:16:03
【问题描述】:
我们正在开发任何拥有有效 Azure 帐户的用户都可以使用的 SPA(单页应用程序)。该应用使用 Azure 资源管理 (user_impersonation) 等权限来显示统计信息并监控一些 Azure 资源。
该应用程序是使用 Angualr 6+ 构建的,我们使用最新版本的 Msal-Angular 进行身份验证。 (安装了 rxjs-compact 包以支持 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']]]
})
如果我尝试将权限更改为“普通”,如下所示:
登录有效,但未正确获取范围,任何访问安全 API(例如“https://management.azure.com/”)的尝试都会产生以下错误:
错误为输入参数“范围”提供的值无效。范围 'https://management.azure.com/.default openid profile' 不存在。|invalid_scope
我做错了吗?这可以用 Msal-Angular 实现还是应该使用 Msal Core?
【问题讨论】:
-
这个问题有什么更新吗?
-
@TonyJu 抱歉我的回复延迟。我在您的回答中添加了评论(问题):)
标签: azure authentication azure-active-directory multi-tenant msal