在生产中使用Flask Restplus时缺少请求标头

时间:2019-05-13 20:36:20

标签: python flask mod-wsgi request-headers flask-restplus

我有一个通过Flask Restplus生成的Swagger UI。

我最近在我的本地计算机上安装了基本身份验证,并且一切正常。但是,当放置到生产服务器(select * from voucher a join voucher b on (b.vchtype = 'D' and a.remarks like ('%' + b.vchseq + '%') and a.vchtype = 'R') httpd)上时,请求标头将完全丢失。

我使用了here所示的第二种技术。

我的授权如下:

mod_wsgi

然后在我的端点,我得到这样的用户名和密码:

    authorizations = {
        'Basic Auth': {
            'type': 'basic',
            'in': 'header',
            'name': 'Authorization'
        },
    }

仅在生产服务器上会引发错误:

    encoded_auth_header = request.headers['Authorization'].split()[1]
    username, password = b64decode(encoded_auth_header).split(':')

最初,我认为可能是return _unicodify_header_value(self.environ['HTTP_' + key] KeyError: HTTP_AUTHORIZATION 中的'A'和'a'之间的区别

(即使在“授权”中用大写字母“ A”表示,它们都可以在我的本地计算机上工作)

因此,我尝试仅打印整个请求标头输出以进行检查。 事实证明,授权密钥完全丢失了!

用户代理和内容类型等都在那里...只是缺少授权部分。

我该如何解决?

0 个答案:

没有答案