Функция Аутентификация / авторизация службы приложений Azure (также известная как EasyAuth) фактически поддерживает токены Bearer для аутентификации запросов на AAD.
Чтобы включить функцию для своего функционального приложения, перейдите к своему приложению на портале. Затем перейдите в Функции платформы> Сеть> Аутентификация / Авторизация. Оттуда выберите расширенную конфигурацию для AAD и укажите идентификатор клиента и URL-адрес эмитента для регистрации приложения AAD. Теперь ваше приложение сможет проверять подлинность запросов с токенами Bearer с вашей регистрацией приложения AAD в качестве аудитории.
Для компонента авторизации у вас есть два варианта.
Установите Action to take when request is not authenticated
на Log in with Azure Active Directory
. Это глобальная настройка, поэтому все HTTP-запросы к вашему приложению-функции защищены этой логикой авторизации.
Установите Action to take when request is not authenticated
на Allow Anonymous requests (no action)
. В этом случае платформа не будет выполнять какую-либо логику авторизации, и вы должны реализовать ее в своем коде. Несмотря на то, что это больше работы, это дает вам больше гибкости в отношении того, какие API должны быть защищены, а также позволяет использовать более сложную логику авторизации, чем просто «запрос аутентифицирован?».
Если ваши триггеры HTTP используют C #, вы можете легко получить доступ к объекту ClaimsPrincipal с заполненной идентификационной информацией AAD. Оттуда вы можете легко выполнить свою логику авторизации. Поддержка JavaScript должна появиться в ближайшее время. Если у вас нет доступа к этому ClaimsPrincipal, вы также можете вручную проанализировать токен на предъявителя и посмотреть на существующие в нем утверждения.
ПРИМЕЧАНИЕ. Игнорируйте утверждение в верхней части документации о неподдержке конечных точек MSAL и AAD V2. Это больше не относится к апрелю 2019 года. Конфигурация почти идентична для конечных точек AAD v1, но к URL-адресу эмитента добавлен /v2.0
в конце.