После всех моих неудачных попыток заставить AppService Authentication работать, я обратился к этому SO, чтобы получить некоторую помощь для решения проблемы аутентификации с помощью JavaScript.
Сценарий: приложению SPA в арендаторе необходим доступ к функции Azureделать вызовы API для приложения.Функции SPA и Azure находятся в одном арендаторе.Сначала приложение SPA будет проходить проверку подлинности, а затем на основе действий пользователя необходимо вызвать функцию Azure, защищенную с помощью проверки подлинности Azure AD.
Проблема: не удается получить файл cookie токена / AppServiceAuthentication для функции Azure, чтобы создать APIзвонки.
То, что я пробовал:
1) https://{}.azurewebsites.net/.auth/me: - Это предоставляет токен доступа для функции с уже авторизованной страницей SPA id_token.Так как мне нужно получить токены в Javascript API, я попытался вызвать с помощью Ajax-вызова, но проблема CORS возникла следующим образом ./auth/me URL перенаправляет на login.microsoft.online/ndomtenant}.Настройте функцию Azure CORS для всех источников (*), но не повезло.
2) MSAL.js: - Использовал этот API, вызывая acquTokeSilent, но этот API всегда использует тип ответа = id_token + token и получая AccessToken иId_Token обратно.Когда я использую AccessToken в качестве канала-носителя при вызове функции Azure, я получаю несанкционированную ошибку 401.
3) ifFrame: Мысль об использовании iFrame для запуска .Auth / me и чтения токена из iFrame.Поскольку это междоменное, доступ к контенту невозможен, глупый я!Та же проблема с новыми дочерними окнами.
Использовал ли кто-нибудь API функции Azure со страницы SPA?Кто-нибудь может пролить свет на то, где я иду не так, пожалуйста?
Заранее спасибо.