簡體   English   中英

如何使用try和except塊在Python中捕獲jwt ExpiredSignatureError異常

[英]How to catch jwt ExpiredSignatureError exception in python using try and except blocks

而不是打印jwt.exceptions.ExpiredSignatureError jwt.exceptions.ExpiredSignatureError:簽名已過期

當他們單擊發送到郵件的URL時,我想打印一條消息print(“令牌已過期”)

我已經嘗試過即使過期也會返回頁面的代碼

@mod.route('/forgot/<token>', methods=['GET', 'POST'])
    def get_resetpassword(token):
result = ''
errorMsg = None
try:
    token_decode = jwt.decode(token, app.config['SECRET KEY'], 'exp', algorithm='HS256')
    print(str(token_decode))
except jwt.ExpiredSignature:
    print("Invalid Token")
    if request.method == 'POST':
        if request.form['password'] != '':
            return redirect('/company/admin')
        else:
            errorMsg= 'Please Enter Password '
    return render_template('reset_token.html',error=errorMsg)

下面的代碼無需try和Except塊即可正確執行

@mod.route('/forgot/<token>', methods=['GET', 'POST'])
def get_resetpassword(token):
result = ''
errorMsg = None
token_decode = jwt.decode(token, app.config['SECRET KEY'], 'exp', algorithm='HS256')
print(str(token_decode))

if request.method == 'POST':
    if request.form['password'] != '':
        return redirect('/company/admin')
    else:
        errorMsg= 'Please Enter Password '
return render_template('reset_token.html',error=errorMsg)

我想在代碼中插入try和except塊

@mod.route('/forgot/<token>', methods=['GET', 'POST'])
def get_resetpassword(token):
    result = ''
    errorMsg = None
    try:
        token_decode = jwt.decode(token, app.config['SECRET KEY'], 'exp', algorithm='HS256')
        print(str(token_decode))
        if request.method == 'POST':
            if request.form['password'] != '':
                return redirect('/company/admin')
            else:
                errorMsg= 'Please Enter Password '
        return render_template('reset_token.html',error=errorMsg)
    except jwt.ExpiredSignature:
        print("Invalid Token")

只需在正確的位置放置一個例外塊。

暫無
暫無

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

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