from jose import JWTError, jwt import werkzeug import os from loguru import logger JWT_PUB_KEY = "" try: JWT_PUB_KEY = os.environ["JWT_PUB_KEY"] except KeyError: with open('/opt/app/config/authservice.pub', 'r') as f: JWT_PUB_KEY = f.read() def decodeToken(token): try: return jwt.decode(token, JWT_PUB_KEY, audience="hv2") except JWTError as e: logger.error("{}".format(e)) raise werkzeug.exceptions.Unauthorized() def testToken(user, token_info): return ''' You are user_id {user} and the provided token has been signed by this issuers. Fine.'. Decoded token claims: {token_info}. '''.format(user=user, token_info=token_info)