首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flask-Restx和Swagger授权在报头中发送不正确的令牌

Flask-Restx和Swagger授权在报头中发送不正确的令牌
EN

Stack Overflow用户
提问于 2020-08-25 00:36:15
回答 1查看 1.6K关注 0票数 2

我有一个使用Flask-Restx和JWT令牌身份验证的Flask REST API,并且正在使用postman进行调用。但是,当我尝试使用swagger时,发送的令牌不是我通过接口输入的令牌。我的代码如下所示:

代码语言:javascript
复制
blueprint = Blueprint('api_bp', __name__, url_prefix='/api/1')

authorizations = {
    'api_key' : {
        'type' : 'apiKey',
        'in' : 'header',
        'name' : 'x-access-token'
    }
}

api = Api(blueprint,
          authorizations=authorizations,
          title='My Title',
          version='1.0',
          security='api_key'
         )
from timesheets.views.api_bp import api as ns1

np = api.namespace('index', description='Index API')

def token_required(f): 
@wraps(f)
    def decorated(*args, **kwargs):
...

@np.route('/users')
class Users(Resource):
    @api.doc(security='api_key')
    @token_required
    def get(self, current_user):
        ...
        return jsonify({'user' : output})

然后在swagger页面上,我可以输入我的身份验证令牌:

当我“尝试一下”时,我可以看到正确的x-access-token被放在curl调用中。

但是如果我查看我的请求头,每次我得到与发送到我的服务器相同的x-access-token:

那么,这个令牌是从哪里生成的呢?如何确保我只使用通过接口传递的令牌?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-29 13:31:22

在检查返回的是相同的键之后,我发现在代码中输入的值被我之前引入的测试数据覆盖了

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63565143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档