Swagger UI中Flask Restplus API的错误401

时间:2019-02-20 16:09:45

标签: python swagger-ui flask-restplus

我正在使用flask_restplusflask_httpauth构建一个用于基于令牌的身份验证的API。除了一件事之外,其他所有东西都运行良好。在Swagger UI中,当我尝试执行搜索查询时收到错误401。在授权中添加“承载者”无济于事。请查看下面的屏幕截图。

有趣的是,从curl复制并粘贴输出(在Swagger UI中),然后从终端运行它会返回正确的输出。与在Postman中运行它相同。问题可能出在Swagger UI中。有什么建议吗?

很遗憾,关于Github的建议对我没有用。

NB:verify_token(token)似乎没有从Swagger UI接收输入。当我尝试打印token时,从Swagger调用时为空,但从curl / Postman调用时显示为值。

部分代码:

authorizations = {
    'Bearer Auth': {
        'type': 'apiKey',
        'in': 'header',
        'name': 'Authorization'
    },
}

api = Api(blueprint, version='1.0', title='Flask API',
          description='My API', security='Bearer Auth', authorizations=authorizations)

@token_auth.verify_token
def verify_token(token):
    g.current_user = User.check_token(token) if token else None
    return g.current_user is not None

Screenshot Swagger UI