簡體   English   中英

Flask-Restx 和 Swagger 授權在標題中發送不正確的令牌

[英]Flask-Restx & Swagger Authorizations Sending Incorrect Token in Header

我有一個使用 Flask-Restx 和 JWT 令牌身份驗證的 Flask REST API,並且正在通過郵遞員進行呼叫。 但是,當我嘗試使用 swagger 時,發送的令牌不是我通過界面輸入的令牌。 我的代碼如下所示:

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 頁面上,我可以輸入我的身份驗證令牌: 在此處輸入圖片說明

當我“試一試”時,我可以看到在 curl 調用中放置了正確的 x-access-token。

在此處輸入圖片說明

但是,如果我查看我的請求標頭,每次我收到發送到我的服務器的相同 x-access-token 時:

在此處輸入圖片說明

那么,這個令牌是從哪里生成的? 我如何確保我只使用我通過接口傳遞的令牌?

復查返回的是同一個key,在代碼中發現輸入的值被我之前介紹的測試數據覆蓋了

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM