请求.headers.get('授权')在Flask生产中为空

时间:2016-08-13 00:06:29

标签: python http flask authorization

我有以下烧瓶方法,simple返回Authorization标头的值:

@app.route('/test', methods=['POST'])
def test():
   return jsonify({"data" : request.headers.get('Authorization') })

当我向已部署到DO实例的API提交以下curl请求时,标题返回为null:

卷曲 - 数据'' - H“授权:测试”api.mysite.com/test

{
 "data": null
}

然而,当我在本地运行的实例上提交相同的请求时,它返回标题内容

{
  "data": "test"
}

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您是否尝试使用正确的Authorization标头?可能是由Web应用程序防火墙或代理过滤掉标头,因为它没有指定方案。例如:

curl --data '' -H "Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=" api.mysite.com/test

这将使用base64编码的凭据username:password发送基本授权标头。