hv2-api/auth.py

27 lines
682 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
2021-06-17 19:10:18 +02:00
import json
2021-06-17 11:52:13 +02:00
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()
2021-06-17 19:01:12 +02:00
2021-06-17 11:52:13 +02:00
def testToken(user, token_info):
2021-06-17 19:01:12 +02:00
return {
"message": f"You are user_id {user} and the provided token has been signed by this issuers. Fine.",
2021-06-17 19:10:18 +02:00
"details": json.dumps(token_info)
}