Как поймать исключение jwt ExpiredSignatureError в python, используя блоки try и кроме - PullRequest
0 голосов
/ 16 января 2019

Вместо печати jwt.exceptions.ExpiredSignatureError jwt.exceptions.ExpiredSignatureError: срок действия подписи истек

Я хочу напечатать сообщение, которое печатается («Токен истек»), когда они нажимают на 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)

Приведенный ниже код выполняется правильно, без попытки и блока 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)

Я хочу вставить попробовать и кроме блока в мой код

1 Ответ

0 голосов
/ 16 января 2019
@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")

Просто поместите блок в нужное место.

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