Я в основном сбрасываю время истечения во время проверки 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 должен также вернуть идентификатор пользователя.
Итак, как это сделать?