我正在使用flask_restplus
和flask_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
答案 0 :(得分:0)