diff --git a/monkey/monkey_island/cc/app.py b/monkey/monkey_island/cc/app.py index d583ebc1a..2afbb685e 100644 --- a/monkey/monkey_island/cc/app.py +++ b/monkey/monkey_island/cc/app.py @@ -23,6 +23,7 @@ from monkey_island.cc.resources.agent_controls import StopAgentCheck, StopAllAge from monkey_island.cc.resources.attack.attack_report import AttackReport from monkey_island.cc.resources.auth.authenticate import Authenticate, init_jwt from monkey_island.cc.resources.auth.register import Registration +from monkey_island.cc.resources.auth.registration_status import RegistrationStatus from monkey_island.cc.resources.blackbox.log_blackbox_endpoint import LogBlackboxEndpoint from monkey_island.cc.resources.blackbox.monkey_blackbox_endpoint import MonkeyBlackboxEndpoint from monkey_island.cc.resources.blackbox.telemetry_blackbox_endpoint import ( @@ -153,6 +154,7 @@ def init_api_resources(api: FlaskDIWrapper): def init_restful_endpoints(api: FlaskDIWrapper): api.add_resource(Root) api.add_resource(Registration) + api.add_resource(RegistrationStatus) api.add_resource(Authenticate) api.add_resource(Monkey) api.add_resource(LocalRun) diff --git a/monkey/monkey_island/cc/resources/auth/registration_status.py b/monkey/monkey_island/cc/resources/auth/registration_status.py new file mode 100644 index 000000000..040c202f2 --- /dev/null +++ b/monkey/monkey_island/cc/resources/auth/registration_status.py @@ -0,0 +1,13 @@ +from monkey_island.cc.resources.AbstractResource import AbstractResource +from monkey_island.cc.services import AuthenticationService + + +class RegistrationStatus(AbstractResource): + + urls = ["/api/registration-status"] + + def __init__(self, authentication_service: AuthenticationService): + self._authentication_service = authentication_service + + def get(self): + return {"needs_registration": self._authentication_service.needs_registration()}