簡體   English   中英

如何將身份驗證功能放入 flask 的 @app.before_request 中

[英]How to put auth functionality in @app.before_request in flask

我想在 flask 應用程序中創建身份驗證層。 我使用flask-jwt-extended 進行jwt 身份驗證,因此我必須為每個受保護的路線提及@jwt_requied 裝飾器。 所以我不想對每條受保護的路線都這樣做。 我想定義一個 function 並使用@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

所以這是 function 我想在每個請求之前調用以檢查身份驗證。

@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() 中進行身份驗證?

你可以訪問 check_user_token() 嗎?

會是這樣

@app.before_request
def before_calback():
    check_user_token()

如果您可以發布一些代碼,它會更容易幫助您。

暫無
暫無

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

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