Требуется аутентификация Basi c в azure прикладном шлюзе - PullRequest
0 голосов
/ 12 марта 2020

У меня есть приложение в облаке azure с активным и пассивным режимом, которое автоматически переключается, когда один выключается, другой становится активным. Сейчас я пытаюсь реализовать шлюз приложения azure перед приложением для проверки высокой доступности и отработки отказа, которое выполняет проверку работоспособности, и по возвращении кода ответа 200 может идентифицировать активный узел и направить запрос на исправный узел. как и ожидалось, однако, когда приложение использует Basi c Auth, оно выдает ошибку 401, я хочу найти способ исправить это в шлюзе приложения. Я не хочу использовать прокси-сервисы, такие как Nginx или Haproxy для достижения этой цели. Любая помощь или предложения приветствуются?

1 Ответ

0 голосов
/ 12 марта 2020

Я предполагаю, что до тех пор, пока вы снова не аутентифицируетесь, будет выдано 401.

Вероятно, это происходит из-за того, что браузер получает токен для аутентификации в App1, а затем вы пытаетесь использовать этот токен для аутентификации в App2.

Даже если обе службы приложений имеют одинаковый код, для AAD это могут быть разные приложения.

Чтобы это исправить, необходимо убедиться, что вы используете один и тот же принципал службы. При настройке простой аутентификации go перейдите на вкладку «Дополнительно» и убедитесь, что обе службы приложения везде имеют одинаковые значения:

enter image description here

...