Сбросьте expire_in в его опасном сериализаторе при проверке

Я в основном сбрасываю время истечения во время проверки Serializer, чтобы поддерживать сеанс во время активности:

 from itsdangerous import (TimedJSONWebSignatureSerializer as Serializer, BadSignature, SignatureExpired)
import time 

SECRET_KEY = "very secret key"
EXPIRES = 4 # Seconds

def check_token(token):
    s = Serializer(SECRET_KEY)

    try:
        data = s.loads(token)
    except SignatureExpired:
        return "Session Expired"
    except BadSignature:
        return "Bad Signature"
    else:
        # How can I reset expire counter here?

        return data["id"]


s = Serializer(SECRET_KEY, expires_in=EXPIRES)

token = s.dumps({"id": "logged_user"})

time.sleep(2)
print(check_token(token))
time.sleep(2)
print(check_token(token))
time.sleep(2)
print(check_token(token))

Таким образом, в этом коде время истечения составляет 4 секунды. Поэтому, когда я проверяю токен, я хочу, чтобы он снова сбрасывал его на 4 секунды, кто 3-й check_token должен также вернуть идентификатор пользователя.

Итак, как это сделать?

0 ответов

Другие вопросы по тегам