我想在烧瓶应用程序中制作身份验证层。我正在使用flask-jwt-extended 进行jwt auth,因此我必须为每个受保护的路线提及@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() 中进行身份验证?