WAC/auth/jwt_controller.py

21 lines
515 B
Python
Raw Permalink Normal View History

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))