使用标头重定向到OAuth网址

时间:2016-05-31 19:14:41

标签: python python-3.x oauth flask

我正在尝试编写一个Python 3.5 Flask应用程序,将用户重定向到OAuth URL,以进行身份​​验证/授权。作为重定向的一部分,我必须包含Authorization标头。 Flask中的内置redirect()方法似乎不支持添加HTTP标头。

在这样的应用程序中处理此问题的正确方法是什么?

1 个答案:

答案 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