hv2-api/auth.py

28 lines
698 B
Python
Raw Normal View History

2021-06-17 11:52:13 +02:00
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)