28 lines
698 B
Python
Executable File
28 lines
698 B
Python
Executable File
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)
|
|
|