我正在尝试编写一个Python 3.5 Flask应用程序,将用户重定向到OAuth URL,以进行身份验证/授权。作为重定向的一部分,我必须包含Authorization
标头。 Flask中的内置redirect()
方法似乎不支持添加HTTP标头。
在这样的应用程序中处理此问题的正确方法是什么?
答案 0 :(得分:4)
您需要构建自己的响应对象以添加标头。您可以在此处查看文档:{{3}}
您的用例的一个简单示例如下:
response = Response(headers={'Authorization': 'whatever'},
is_redirect=True,
url="https://your-redirected-url.com")
return response
编辑:更多信息
另外,如果您对使用图书馆感兴趣,我会查看http://docs.python-requests.org/en/master/api/#requests.Response。它支持oAuth1和oAuth2,使用标准的Flask应用程序进行设置相对容易。
编辑:另一种方式
今天早上我想起了一种更简单的方法。您可以调用重定向函数,它将返回一个烧瓶响应对象。然后,您可以在新创建的对象上设置标题。
response = redirect('https://url')
response.headers = {'authorization': 'whatever'}
return response