Функция Azure с доступом для аутентификации Azure AD с использованием JavaScript - PullRequest
0 голосов
/ 23 ноября 2018

После всех моих неудачных попыток заставить 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?Кто-нибудь может пролить свет на то, где я иду не так, пожалуйста?

Заранее спасибо.

...