【发布时间】:2020-07-17 03:36:44
【问题描述】:
TLDR;如何在重定向中设置自定义 HTTP request 标头?
以下代码重定向到外部服务,但未能将“授权”请求标头传递给目标。我可以在重定向发生之前看到响应的标头 - 可以以某种方式转发吗?
@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 目的。它需要在目标服务器上实现 CORS 以允许 这样的 ajax 请求。
【问题讨论】:
标签: python-3.x redirect flask http-headers