簡體   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