Предоставление общего доступа только к 1 конечной точке приложения Azure - PullRequest
1 голос
/ 30 апреля 2019

Я создаю небольшое бессерверное приложение Azure с 3 различными функциями, запускаемыми 3 различными HTTP-событиями. Я установил «Уровень авторизации» на «Анонимный» для каждой из функций. Затем я настроил Аутентификацию (на уровне приложения) для связи с моей Azure Active Directory. Хотя мне потребовалось некоторое время, чтобы выяснить эту часть, в конце концов, похоже, она работает как шарм. Проблема заключается в том, что сейчас я должен передать токен на предъявителя для каждой из этих функций, в то время как мне нужно, чтобы одна из них была общедоступной. Есть ли способ сделать это, при котором мне не нужно разбивать одну функцию на отдельное приложение Azure?

Ответы [ 2 ]

0 голосов
/ 30 апреля 2019

Я думаю, здесь должны помочь правила авторизации URL.

Для вашего сценария включите аутентификацию / авторизацию и разрешите анонимный доступ на портале.Далее вы захотите создать файл authorization.json в корне вашего сайта и определить два маршрута:

  • Отключить анонимный доступ в корне.
  • Включить анонимный доступ для URL анонимной функции.

authorization.json

{
  "routes": [{
      "path_prefix": "/",
      "policies": { "unauthenticated_action": "RedirectToLoginPage" }
    },{
      "path_prefix": "/api/HttpTrigger1",
      "policies": { "unauthenticated_action": "AllowAnonymous" }
    }]
}

enter image description here enter image description here

ПРИМЕЧАНИЕ: Обязательно остановите / запустите приложение Function после включения аутентификации / авторизации и добавления файла authorization.json в папку wwwroot.

0 голосов
/ 30 апреля 2019

Не уверен, как вы реализовали безопасность на уровне приложения, но в обычном приложении OWIN или CORE обработчик токена просто передает запрос как не прошедший проверку подлинности методу контроллера, если он не находит действительный токен в заголовке авторизации (без заголовка). или токен недействителен). Затем этот метод должен решить, обрабатывать ли запрос или отклонять его как несанкционированный. Можете ли вы соответственно изменить свой токен-верификатор? (Фактически, если ваш API может получать токены, выпущенные разными эмитентами - AAD, B2C, Ping - вы можете настроить несколько обработчиков токенов, каждый из которых попытается выполнить va

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...