Сбросьте expire_in в его опасном сериализаторе при проверке - PullRequest
0 голосов
/ 28 марта 2019

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

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

...