forked from p34709852/monkey
Island: Remove auth code from Enviroment and EnivormentConfig
This commit is contained in:
parent
59d78d5e30
commit
285b0f4156
|
@ -23,34 +23,6 @@ class Environment(object, metaclass=ABCMeta):
|
||||||
self._config = config
|
self._config = config
|
||||||
self._testing = False # Assume env is not for unit testing.
|
self._testing = False # Assume env is not for unit testing.
|
||||||
|
|
||||||
def get_user(self):
|
|
||||||
return self._config.user_creds
|
|
||||||
|
|
||||||
def needs_registration(self) -> bool:
|
|
||||||
try:
|
|
||||||
needs_registration = self._try_needs_registration()
|
|
||||||
return needs_registration
|
|
||||||
except (AlreadyRegisteredError) as e:
|
|
||||||
logger.info(e)
|
|
||||||
return False
|
|
||||||
|
|
||||||
def try_add_user(self, credentials: UserCreds):
|
|
||||||
if not credentials:
|
|
||||||
raise InvalidRegistrationCredentialsError("Missing part of credentials.")
|
|
||||||
if self._try_needs_registration():
|
|
||||||
self._config.add_user(credentials)
|
|
||||||
logger.info(f"New user {credentials.username} registered!")
|
|
||||||
|
|
||||||
def _try_needs_registration(self) -> bool:
|
|
||||||
if self._is_registered():
|
|
||||||
raise AlreadyRegisteredError(
|
|
||||||
"User has already been registered. " "Reset credentials or login."
|
|
||||||
)
|
|
||||||
return True
|
|
||||||
|
|
||||||
def _is_registered(self) -> bool:
|
|
||||||
return self._config and self._config.user_creds
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def testing(self):
|
def testing(self):
|
||||||
return self._testing
|
return self._testing
|
||||||
|
|
|
@ -4,14 +4,11 @@ import json
|
||||||
import os
|
import os
|
||||||
from typing import Dict
|
from typing import Dict
|
||||||
|
|
||||||
from monkey_island.cc.environment.user_creds import UserCreds
|
|
||||||
|
|
||||||
|
|
||||||
class EnvironmentConfig:
|
class EnvironmentConfig:
|
||||||
def __init__(self, file_path):
|
def __init__(self, file_path):
|
||||||
self._server_config_path = os.path.expanduser(file_path)
|
self._server_config_path = os.path.expanduser(file_path)
|
||||||
self.server_config = None
|
self.server_config = None
|
||||||
self.user_creds = None
|
|
||||||
self.aws = None
|
self.aws = None
|
||||||
|
|
||||||
self._load_from_file(self._server_config_path)
|
self._load_from_file(self._server_config_path)
|
||||||
|
@ -24,7 +21,7 @@ class EnvironmentConfig:
|
||||||
|
|
||||||
self._load_from_json(config_content)
|
self._load_from_json(config_content)
|
||||||
|
|
||||||
def _load_from_json(self, config_json: str) -> EnvironmentConfig:
|
def _load_from_json(self, config_json: str):
|
||||||
data = json.loads(config_json)
|
data = json.loads(config_json)
|
||||||
self._load_from_dict(data["environment"])
|
self._load_from_dict(data["environment"])
|
||||||
|
|
||||||
|
@ -32,7 +29,6 @@ class EnvironmentConfig:
|
||||||
aws = dict_data["aws"] if "aws" in dict_data else None
|
aws = dict_data["aws"] if "aws" in dict_data else None
|
||||||
|
|
||||||
self.server_config = dict_data["server_config"]
|
self.server_config = dict_data["server_config"]
|
||||||
self.user_creds = _get_user_credentials_from_config(dict_data)
|
|
||||||
self.aws = aws
|
self.aws = aws
|
||||||
|
|
||||||
def save_to_file(self):
|
def save_to_file(self):
|
||||||
|
@ -50,16 +46,4 @@ class EnvironmentConfig:
|
||||||
}
|
}
|
||||||
if self.aws:
|
if self.aws:
|
||||||
config_dict.update({"aws": self.aws})
|
config_dict.update({"aws": self.aws})
|
||||||
config_dict.update(self.user_creds.to_dict())
|
|
||||||
return config_dict
|
return config_dict
|
||||||
|
|
||||||
def add_user(self, credentials: UserCreds):
|
|
||||||
self.user_creds = credentials
|
|
||||||
self.save_to_file()
|
|
||||||
|
|
||||||
|
|
||||||
def _get_user_credentials_from_config(dict_data: Dict):
|
|
||||||
username = dict_data.get("user", "")
|
|
||||||
password_hash = dict_data.get("password_hash", "")
|
|
||||||
|
|
||||||
return UserCreds(username, password_hash)
|
|
||||||
|
|
Loading…
Reference in New Issue