Мы разрабатываем SPA (одностраничное приложение), которое может использовать любой пользователь с действующей учетной записью Azure. Приложение использует разрешения, такие как Azure Resource Management (user_impersonation), для отображения статистики и мониторинга некоторых ресурсов Azure.
Приложение построено на Angualr 6+, и мы используем самую последнюю версию Msal-Angular для аутентификации. (пакет rxjs-compact установлен для поддержки angualr 6+)
Я уже зарегистрировал регистрацию приложения в Azure (мультитенант) с настроенными разрешениями, но у меня возникают проблемы при настройке Msal-Angularдля поддержки Multi-Tenancy.
Наша конфигурация работает для пользователей организации, но не для личных учетных записей, которых нет в моей 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/', приводит к следующей ошибке:
ERROR Предоставленное значение для входного параметра' scope 'не является действительным. Область 'https://management.azure.com/.default openid profile' не существует. | Invalid_scope
Я что-то не так делаю? Можно ли это реализовать с помощью Msal-Angular или мне следует использовать Msal Core?