如何使用 try 和 except 块在 python 中捕获 jwt ExpiredSignatureError 异常

vas*_*eem 5 python jwt

而不是打印 jwt.exceptions.ExpiredSignatureError jwt.exceptions.ExpiredSignatureError: Signature has expired

我想打印一条消息,当他们单击发送到邮件的 URL 时,打印(“令牌已过期”)

我已经尝试过即使过期也会返回页面的代码

@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)
Run Code Online (Sandbox Code Playgroud)

下面的代码在没有 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)
Run Code Online (Sandbox Code Playgroud)

我想在我的代码中插入 try 和 except 块

vas*_*eem 5

@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")
Run Code Online (Sandbox Code Playgroud)

只需在正确的位置放置一个 except 块即可。