refresh token expiry check

This commit is contained in:
Wolfgang Hottgenroth 2021-09-06 21:06:12 +02:00
parent 7163db9ce9
commit e29ce48971
Signed by: wn
GPG Key ID: E49AF3B9EF6DD469

View File

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