Flask restful и flask jwt - как использовать вместе?

Я использую flask restful для своего сервера API и хотел бы использовать flask_jwt для защиты своих конечных точек.

Это моя конечная точка и как я добавляю ее на сервер API

class Model(Resource):
    def get(self):
        return 1 

api.add_resource(Model, '/path')

Я хотел бы добавить простой @jet_required декоратор для моей конечной точки API. Как мне получить что-то похожее на это

@app.route('/protected')
@jwt_required()
def protected():
    return '%s' % current_identity

Но используя спокойный интерфейс фляги?

Когда я пытаюсь использовать следующее и получаю доступ к конечной точке, я получаю эту ошибку

модель класса (ресурс): @jwt_required
def get (self): return 1

TypeError: .wrapper..decorator at 0x7ff5fb262840> не поддерживает сериализацию JSON 127.0.0.1 - - [22 января 2020 г. 10:10:28] «ПОЛУЧИТЬ / изменить размер HTTP / 1.1» 500


person thebeancounter    schedule 22.01.2020    source источник


Ответы (1)


Сделал это с помощью flask_jwt_extended, как в этом примере

Используя следующий код

app = Flask(__name__)
api = Api(app)
CORS(app)
app.config['JWT_SECRET_KEY'] = 'jwt-secret-string'
jwt = JWTManager(app)

@app.route('/protected')
@jwt_required()
def protected():
    return '%s' % current_identity

Теперь это возвращает изящное сообщение в случае отсутствия заголовка аутентификации.

person thebeancounter    schedule 22.01.2020