Как поместить функцию аутентификации в @ app.before_request в колбу - PullRequest
0 голосов
/ 25 октября 2019

Я хочу сделать аутентификационный слой в приложении фляги. Я использовал flask-jwt-extended для аутентификации jwt, поэтому для каждого защищенного маршрута я должен упомянуть декоратор @jwt_requied. поэтому я не хочу делать это для каждого защищенного маршрута. Я решил определить функцию и выполнить ее перед каждым запросом, используя @ app.before_request. Я хочу, чтобы аутентификация происходила в этом слое.


def check_user_token():
    if 'x-access-token' in request.headers:
        token = request.headers['x-access-token']
    if not token:
        return jsonify({'message': 'Token is missing'}), 401

    try:
        data = jwt.decode(token, app.config['SECRET_KEY'])
        current_user = UserDetails.query.filter_by(username=data['username']).first()


    except:
        return jsonify({'message': 'Token is in-valid'}), 401
return current_user

Так что эту функцию я хочу вызывать перед каждым запросом для проверки аутентификации.

@app.before_request
def before_calback():
    #want to call that check_user_token() from here and 
   #also dont want to call that for 'login' route .
   #Once i will get some response from check_user_token() 
   #based on that want to proceed further
  #and  here i dont know to do this.

По сути, мой qns - как выполнять аутентификациюв @ app.before_request def before_calback ()?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...