forked from p34709852/monkey
Island: Remove UserStore
This commit is contained in:
parent
bb806522a1
commit
bfad0256f8
|
@ -6,7 +6,6 @@ from typing import Dict
|
||||||
|
|
||||||
from monkey_island.cc.environment.user_creds import UserCreds
|
from monkey_island.cc.environment.user_creds import UserCreds
|
||||||
from monkey_island.cc.resources.auth.auth_user import User
|
from monkey_island.cc.resources.auth.auth_user import User
|
||||||
from monkey_island.cc.resources.auth.user_store import UserStore
|
|
||||||
|
|
||||||
|
|
||||||
class EnvironmentConfig:
|
class EnvironmentConfig:
|
||||||
|
@ -58,7 +57,6 @@ class EnvironmentConfig:
|
||||||
def add_user(self, credentials: UserCreds):
|
def add_user(self, credentials: UserCreds):
|
||||||
self.user_creds = credentials
|
self.user_creds = credentials
|
||||||
self.save_to_file()
|
self.save_to_file()
|
||||||
UserStore.set_users([self.get_user()])
|
|
||||||
|
|
||||||
def get_user(self) -> User:
|
def get_user(self) -> User:
|
||||||
auth_user = self.user_creds.to_auth_user()
|
auth_user = self.user_creds.to_auth_user()
|
||||||
|
|
|
@ -8,7 +8,6 @@ from flask_jwt_extended.exceptions import JWTExtendedException
|
||||||
from jwt import PyJWTError
|
from jwt import PyJWTError
|
||||||
|
|
||||||
import monkey_island.cc.environment.environment_singleton as env_singleton
|
import monkey_island.cc.environment.environment_singleton as env_singleton
|
||||||
import monkey_island.cc.resources.auth.user_store as user_store
|
|
||||||
from monkey_island.cc.resources.auth.credential_utils import (
|
from monkey_island.cc.resources.auth.credential_utils import (
|
||||||
get_username_password_from_request,
|
get_username_password_from_request,
|
||||||
password_matches_hash,
|
password_matches_hash,
|
||||||
|
@ -19,7 +18,6 @@ logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def init_jwt(app):
|
def init_jwt(app):
|
||||||
user_store.UserStore.set_users(env_singleton.env.get_auth_users())
|
|
||||||
_ = flask_jwt_extended.JWTManager(app)
|
_ = flask_jwt_extended.JWTManager(app)
|
||||||
logger.debug(
|
logger.debug(
|
||||||
"Initialized JWT with secret key that started with " + app.config["JWT_SECRET_KEY"][:4]
|
"Initialized JWT with secret key that started with " + app.config["JWT_SECRET_KEY"][:4]
|
||||||
|
@ -52,18 +50,16 @@ class Authenticate(flask_restful.Resource):
|
||||||
|
|
||||||
|
|
||||||
def _credentials_match_registered_user(username: str, password: str) -> bool:
|
def _credentials_match_registered_user(username: str, password: str) -> bool:
|
||||||
user = user_store.UserStore.username_table.get(username, None)
|
registered_user = env_singleton.env.get_auth_users()
|
||||||
|
|
||||||
if user and password_matches_hash(password, user.secret):
|
if not registered_user:
|
||||||
return True
|
return False
|
||||||
|
|
||||||
return False
|
return (registered_user.username == username) and password_matches_hash(password, registered_user[0].secret)
|
||||||
|
|
||||||
|
|
||||||
def _create_access_token(username):
|
def _create_access_token(username):
|
||||||
access_token = flask_jwt_extended.create_access_token(
|
access_token = flask_jwt_extended.create_access_token(identity=username)
|
||||||
identity=user_store.UserStore.username_table[username].id
|
|
||||||
)
|
|
||||||
logger.debug(f"Created access token for user {username} that begins with {access_token[:4]}")
|
logger.debug(f"Created access token for user {username} that begins with {access_token[:4]}")
|
||||||
|
|
||||||
return access_token
|
return access_token
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
from typing import List
|
|
||||||
|
|
||||||
from monkey_island.cc.resources.auth.auth_user import User
|
|
||||||
|
|
||||||
|
|
||||||
class UserStore:
|
|
||||||
users = []
|
|
||||||
username_table = {}
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def set_users(users: List[User]):
|
|
||||||
UserStore.users = users
|
|
||||||
UserStore.username_table = {u.username: u for u in UserStore.users}
|
|
Loading…
Reference in New Issue