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