Redirect in Flask - передать целевой заголовок в запросе цели - PullRequest
0 голосов
/ 05 апреля 2020

TLDR; Как установить настраиваемый заголовок HTTP request при перенаправлении?

Ниже код перенаправляет на внешнюю службу, но не передает запрос 'Authorization' заголовок к цели. Я вижу заголовок в ответе до того, как произойдет перенаправление - можно ли его как-то переслать?

@app.route('/external_page')
def external_page():
    if not request.cookies.get('id_token'):
        return flask.redirect(flask.url_for('login',_external=True,_scheme=SCHEME))

    response = flask.redirect(flask.url_for('https://external_service_url/v1/ui'))
    response.headers['Authorization'] = 'token_id'
    return response

Ответ: Это невозможно, в HTTP и не в каких-либо рамках.

Единственный способ для сайта указать браузеру, чтобы он отправлял HTTP-запрос с настраиваемым заголовком, - это использовать Javascript и объект XMLHttpRequest. И для реализации таких запросов ajax требуется реализация CORS.

Источник: Перенаправление на страницу и отправка пользовательских заголовков HTTP

...