21 lines
515 B
Python
21 lines
515 B
Python
from datetime import timedelta
|
|
import redis
|
|
from flask_jwt_extended import JWTManager
|
|
|
|
jwt = JWTManager()
|
|
redis_jwt_blocklist = redis.StrictRedis(host='redis', port=6379, password='ijfijfijf++', db=0, decode_responses=True)
|
|
|
|
|
|
@jwt.token_in_blocklist_loader
|
|
def check_if_token_revoked(jwt_header, jwt_payload):
|
|
jti = jwt_payload['jti']
|
|
token_in_redis = redis_jwt_blocklist.get(jti)
|
|
return token_in_redis is not None
|
|
|
|
|
|
def revoke_token(jti):
|
|
redis_jwt_blocklist.set(jti, "", ex=timedelta(hours=2))
|
|
|
|
|
|
|