Azure Logic Apps 302 Ошибка аутентификации MVC - PullRequest
1 голос
/ 19 марта 2019

Я пытаюсь создать самое первое приложение логики Azure, которое просто каждый час отправляет http-запрос на веб-сайт с аутентификацией MVC ASP. При настройке действия http Logic App я использую опцию Basic для ввода данных пользователя.

При запуске приложение логики продолжает давать сбой и возвращает ошибку 302 (перенаправление); Я предполагаю, что это потому, что сообщение http перенаправляется на страницу входа в учетную запись.

Я выполнил тест, выполнив действие приложения логики для запуска http-записи по URL-адресу с того же сайта, который не требует авторизации пользователя, и он работает.

Я также прочитал, что могу добавить конфигурацию в действие приложения логики с помощью правил запуска после, но по какой-то причине этот параметр отключен для моего действия.

Буду признателен, если кто-то, обладающий какими-либо знаниями в этой области, сможет указать какое-то возможное направление.

Спасибо.

1 Ответ

1 голос
/ 10 мая 2019

Постановка проблемы в моем случае: вызвать API, который возвращал документ CSV, чтобы его можно было сохранить в хранилище BLOB-объектов Azure.

Я создал приложение логики и настроил HTTP-запрос, передавая URL-адрес и все параметры, необходимые для использования API, как показано ниже:

enter image description here

Как видите, очень простая конфигурация с использованием коннектора HTTP. Но затем при выполнении я получил следующий код состояния HTTP 302, который Logic Apps считал ошибкой:

enter image description here

Глядя на документацию о 302 (https://en.wikipedia.org/wiki/HTTP_302),, я понял, что приложение логики должно получать обратно заголовок Location, указывающий, где был нужный мне ресурс, и, как вы можете видеть на рисунке выше, эта информация возвращалась .

Но поскольку приложение логики понимало ответ HTTP 302 как ошибку, мне пришлось настроить запуск после обработки как для успешных ответов, так и для ответов об ошибках.

enter image description here

После этого я мог бы сделать второй вызов, используя на этот раз заголовок Location, возвращенный после первого вызова.

enter image description here

На этот раз с помощью перенаправления URL приложение логики смогло извлечь нужный ему CSV-файл, а затем я мог завершить оставшуюся логику интеграции и отправить этот файл в хранилище BLOB-объектов.

enter image description here

Решение для преодоления обработки HTTP 302 как ошибки приложением логики. Возможно, улучшением для приложений логики стало бы лучшее понимание того, что не все коды состояния HTTP являются ошибками, поэтому мы могли бы иметь лучшую конфигурацию запуска после, вместо того, чтобы перехватывать эти другие ответы HTTP как ошибки.

Надеюсь, это поможет.

...