Azure Logi c Приложение выбрасывает 302 Ошибка перенаправления с сервером = БОЛЬШОЙ IP в заголовке ответа для HTTP - PullRequest
0 голосов
/ 27 марта 2020

Я получаю ошибку Redirect 302 для HTTP-запроса в приложении Logi c. Я звоню OneIdentityServer для получения токена доступа. Затем я вызываю Rest API, передавая токен доступа в качестве заголовка для ключа авторизации. Я получаю 302 сообщение об ошибке перенаправления в ответ с информацией заголовков, такой как Server = BIG IP, Location = /my.policy

Тот же самый запрос выше при запуске через Postman или SOAPUI работает нормально, я получаю успешный ответ. Но то же самое не работает в Azure Logi c App.

Я также реализовал вышеописанный сценарий в приложении-функции. Это рабочий файл, когда я запускаю код приложения функции из Visual Studio, используя Postman. Но когда я тестирую то же приложение функции после публикации на портале Azure, оно выдает ту же ошибку.

Ответы [ 2 ]

0 голосов
/ 16 апреля 2020

У вас все еще есть проблемы с этим? Вот скриншот моего http действия: HTTP Action , которое работает. Я поместил свой URL в переменную, так как он меняется для каждой нумерации страниц. Я также обнаружил, что для использования токена аутентификации из первого HTTP-запроса, необходимого мне для анализа тела, чтобы иметь возможность доступа к токену, вот схема, которую я использовал для анализа тела HTTP из запроса, в котором вы получаете токен доступа:

{
"properties": {
    "access_token": {
        "type": "string"
    },
    "expires_in": {
        "type": "string"
    },
    "expires_on": {
        "type": "string"
    },
    "ext_expires_in": {
        "type": "string"
    },
    "not_before": {
        "type": "string"
    },
    "resource": {
        "type": "string"
    },
    "token_type": {
        "type": "string"
    }
},
"type": "object"
}
0 голосов
/ 01 апреля 2020

Кажется, у меня та же проблема, что и у вас. Я нашел один способ, который не работал для меня, но, может быть, вы могли бы попробовать его, если он соответствует вашим потребностям?

Решение, которое я нашел в посте блога, было первым, чтобы добавить действие «Переключить» к logi c поток приложения и затем настройте Switch на запуск после успешного и неудачного выполнения HTTP.

Во-вторых, действие Switch должно запускаться на выходе кода состояния из запроса HTTP. Если код состояния равен 302, вы должны сделать еще один HTTP-запрос, но URI будет выводом заголовка местоположения из первого HTTP-запроса. Это привело к тому, что мое приложение logi c привело к статусу 200, но ответом для моего приложения logi c было то, что мне нужно было войти, чтобы получить доступ к API.

Но, может быть, стоит попробовать это решение для вашего приложения logi c?

Вот ссылка на блог, если вам нужны более глубокие инструкции: http://www.alessandromoura.com.br/2018/11/21/dealing-with-http-302-in-logic-apps/

...