Я хотел бы понять, как настроить MSAL и связанные артефакты, чтобы упростить следующую настройку.
Я попытался узнать, как настроить MSAL для моего предполагаемого варианта использования, изучив этот демонстрационный проект: https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/README.md. К сожалению, этот проект относится к серверному сайту API, который больше не работает. И биты бэкэнда не включены в репозиторий.
Демонстрационный проект msal-microsoft-authentication-library-for-js\lib\msal-angular\samples\MSALAngularDemoApp не работает в опубликованном виде. Попытки входа не удаются. Однажды встретив Uncaught (in promise): AADSTS650052: The app needs access to a service (\"api://a88bb933-319c-41b5-9f04-eff36d985612\") that your organization \"<MY-ORG>\" has not subscribed to or enabled.
С моей текущей конфигурацией в браузере я сталкиваюсь с отменой запроса, когда MSAL пытается сделать запросы в следующей форме:
Так что я явно делаю по крайней мере одну вещь неправильно. Ниже приводится сводка моей конфигурации. Однако вместо того, чтобы пытаться отлаживать мою конфигурацию, может оказаться проще (более эффективно) описать все шаги, необходимые для создания работающей конфигурации.
Azure Function App
Platform features
Authentication / Authorization
App Service Authentication: On
Action to take when request is not authenticated
Log in with Azure Active Directory
Authentication Providers
Azure Active Directory Configured (Express: Existing App)
Advanced Settings Token Store
ALLOWED EXTERNAL REDIRECT URLS
Link to static website of storage container where Angular site is deployed
E.g., https://<storagecontainer>.z5.web.core.windows.net/
CORS
ALLOWED ORIGINS
https://<storagecontainer>.z5.web.core.windows.net/
http://localhost:4200
Function Signatures
`public static async Task<IActionResult> Function1([HttpTrigger(AuthorizationLevel.Function, "get", "post", "options", Route = null)] HttpRequest httpRequest, ILogger log) {`
Звучит как хороший ответ для меня @CalvinDale





Мне удалось заставить AAD-аутентификацию работать с Angular + Статический веб-сайт AZ Storage + Бэкэнд AZ Funcs, используя
adal-angular, а неmsal-angular(MSAL.js). Я адаптировал Пример Пита Скелли для Angular 7.2. Я использовал@auth0/angular-jwtвместоangular2-jwtдля совместимости с RxJs 6.3.