2

私は、flask-jwt-extended ライブラリを使用して、次のルートで API の承認を提供しています。

@app.route('/<string:stage>/api/v2.0/unauth/token', methods=['POST'])
def get_token(stage):
    username = request.json['username']
    password = request.json['password']
    user = get_user(username)
    if user and user.password == password:
        return jsonify({'access_token': create_access_token(identity=username)}), 200
    else:
        abort(401)

次のCURLリクエストを行うと

curl -H "Content-Type: application/json" -X POST -d '{"username":"android", "password":"59a07c1a-0ec9-41a0-9b96-2ff196f35f0c"}' http://0.0.0.0:5000/staging/api/v2.0/unauth/token

サーバーは次のように応答します

{
  "msg": "Missing Authorization Header"
}

関数jwt_requiredに注釈がないにもかかわらず。get_tokenリクエストに渡されたユーザー名とパスワードが有効であること、get_user呼び出しから返されたオブジェクトが有効であること、およびその他の jwt_required-annotated ルートと jwt_required-annotated ルートが期待どおりに機能することがわかっています。エンドポイントの名前を変更し、コード内で別の場所に移動しようとしましたが、役に立ちませんでした。これはどのように修正できますか?

4

1 に答える 1