entities_service/auth.py

32 lines
879 B
Python
Raw Permalink Normal View History

2020-08-23 22:07:20 +02:00
import json
from util import load_env
class AuthProvider(object):
@staticmethod
def from_environment():
auth = load_env("AUTH", None)
return AuthProvider(auth)
def __init__(self, auth_token_config):
if auth_token_config == "":
self.auth_token_pool = []
print("Service started without Authentication")
return
try:
self.auth_token_pool = json.loads(auth_token_config)
except ValueError as e:
raise ValueError("Authentication configuration could not be parsed") from e
def validate_token(self, token):
"""Validate a token for fabrication functions"""
if token in self.auth_token_pool or not self.auth_token_pool:
return True
return False
def user_for_token(self, token):
return self.auth_token_pool.get(token)