refresh token expiry check

This commit is contained in:
2021-09-06 21:06:12 +02:00
parent 7163db9ce9
commit e29ce48971

View File

@ -38,6 +38,9 @@ except KeyError:
class NoUserException(Exception): class NoUserException(Exception):
pass pass
class RefreshTokenExpiredException(Exception):
pass
class NoTokenException(Exception): class NoTokenException(Exception):
pass pass
@ -323,7 +326,8 @@ def refreshTokens(**args):
refreshTokenObj = jwt.decode(refreshToken, JWT_PUB_KEY) refreshTokenObj = jwt.decode(refreshToken, JWT_PUB_KEY)
logger.info(str(refreshTokenObj)) logger.info(str(refreshTokenObj))
# FIXME: token expiry check if refreshTokenObj["exp"] < int(time.time()):
throw RefreshTokenExpiredException()
checkAndInvalidateRefreshToken(refreshTokenObj["sub"], refreshTokenObj["xid"], refreshTokenObj["xal"]) checkAndInvalidateRefreshToken(refreshTokenObj["sub"], refreshTokenObj["xid"], refreshTokenObj["xal"])
@ -336,6 +340,9 @@ def refreshTokens(**args):
except JWTError as e: except JWTError as e:
logger.error("jwt.decode failed: {}".format(e)) logger.error("jwt.decode failed: {}".format(e))
raise werkzeug.exceptions.Unauthorized() raise werkzeug.exceptions.Unauthorized()
except RefreshTokenExpiredException:
logger.error("refresh token expired")
raise werkzeug.exceptions.Unauthorized()
except NoTokenException: except NoTokenException:
logger.error("no token created/found") logger.error("no token created/found")
raise werkzeug.exceptions.Unauthorized() raise werkzeug.exceptions.Unauthorized()