in scripts/provisioning/utils.py [0:0]
def _get_jwt(service_name):
"""Checks to see if the global JWT is still valid and either returns it or
generates a new one."""
global JWT
if JWT is None:
JWT = _generate_jwt(service_name)
else:
try:
# This will throw a ValueError if the JWT is expired by over 5 min
decoded = jwt.decode(JWT, verify=False)
# Err on the side of caution and just create a new JWT if we're at expiry
if time.time() >= decoded['exp']:
JWT = _generate_jwt(service_name)
except ValueError:
JWT = _generate_jwt(service_name)
return JWT