Ejemplo n.º 1
0
    def __init__(self, hs: "HomeServer"):
        super().__init__()
        self.hs = hs

        # JWT configuration variables.
        self.jwt_enabled = hs.config.jwt_enabled
        self.jwt_secret = hs.config.jwt_secret
        self.jwt_algorithm = hs.config.jwt_algorithm
        self.jwt_issuer = hs.config.jwt_issuer
        self.jwt_audiences = hs.config.jwt_audiences

        # SSO configuration.
        self.saml2_enabled = hs.config.saml2_enabled
        self.cas_enabled = hs.config.cas_enabled
        self.oidc_enabled = hs.config.oidc_enabled

        self.auth = hs.get_auth()

        self.auth_handler = self.hs.get_auth_handler()
        self.registration_handler = hs.get_registration_handler()
        self._well_known_builder = WellKnownBuilder(hs)
        self._address_ratelimiter = Ratelimiter(
            clock=hs.get_clock(),
            rate_hz=self.hs.config.rc_login_address.per_second,
            burst_count=self.hs.config.rc_login_address.burst_count,
        )
        self._account_ratelimiter = Ratelimiter(
            clock=hs.get_clock(),
            rate_hz=self.hs.config.rc_login_account.per_second,
            burst_count=self.hs.config.rc_login_account.burst_count,
        )
Ejemplo n.º 2
0
 def __init__(self, hs):
     super(LoginRestServlet, self).__init__()
     self.hs = hs
     self.jwt_enabled = hs.config.jwt_enabled
     self.jwt_secret = hs.config.jwt_secret
     self.jwt_algorithm = hs.config.jwt_algorithm
     self.saml2_enabled = hs.config.saml2_enabled
     self.cas_enabled = hs.config.cas_enabled
     self.oidc_enabled = hs.config.oidc_enabled
     self.auth_handler = self.hs.get_auth_handler()
     self.registration_handler = hs.get_registration_handler()
     self.handlers = hs.get_handlers()
     self._well_known_builder = WellKnownBuilder(hs)
     self._address_ratelimiter = Ratelimiter(
         clock=hs.get_clock(),
         rate_hz=self.hs.config.rc_login_address.per_second,
         burst_count=self.hs.config.rc_login_address.burst_count,
     )
     self._account_ratelimiter = Ratelimiter(
         clock=hs.get_clock(),
         rate_hz=self.hs.config.rc_login_account.per_second,
         burst_count=self.hs.config.rc_login_account.burst_count,
     )
     self._failed_attempts_ratelimiter = Ratelimiter(
         clock=hs.get_clock(),
         rate_hz=self.hs.config.rc_login_failed_attempts.per_second,
         burst_count=self.hs.config.rc_login_failed_attempts.burst_count,
     )
Ejemplo n.º 3
0
 def __init__(self, hs):
     super(LoginRestServlet, self).__init__(hs)
     self.jwt_enabled = hs.config.jwt_enabled
     self.jwt_secret = hs.config.jwt_secret
     self.jwt_algorithm = hs.config.jwt_algorithm
     self.cas_enabled = hs.config.cas_enabled
     self.auth_handler = self.hs.get_auth_handler()
     self.device_handler = self.hs.get_device_handler()
     self.handlers = hs.get_handlers()
     self._well_known_builder = WellKnownBuilder(hs)
Ejemplo n.º 4
0
 def __init__(self, hs):
     super(LoginRestServlet, self).__init__(hs)
     self.jwt_enabled = hs.config.jwt_enabled
     self.jwt_secret = hs.config.jwt_secret
     self.jwt_algorithm = hs.config.jwt_algorithm
     self.cas_enabled = hs.config.cas_enabled
     self.auth_handler = self.hs.get_auth_handler()
     self.registration_handler = hs.get_registration_handler()
     self.handlers = hs.get_handlers()
     self._well_known_builder = WellKnownBuilder(hs)
     self._address_ratelimiter = Ratelimiter()
Ejemplo n.º 5
0
    def __init__(self, hs: "HomeServer"):
        super().__init__()
        self.hs = hs

        # JWT configuration variables.
        self.jwt_enabled = hs.config.jwt.jwt_enabled
        self.jwt_secret = hs.config.jwt.jwt_secret
        self.jwt_subject_claim = hs.config.jwt.jwt_subject_claim
        self.jwt_algorithm = hs.config.jwt.jwt_algorithm
        self.jwt_issuer = hs.config.jwt.jwt_issuer
        self.jwt_audiences = hs.config.jwt.jwt_audiences

        # SSO configuration.
        self.saml2_enabled = hs.config.saml2.saml2_enabled
        self.cas_enabled = hs.config.cas.cas_enabled
        self.oidc_enabled = hs.config.oidc.oidc_enabled
        self._refresh_tokens_enabled = (
            hs.config.registration.refreshable_access_token_lifetime
            is not None)

        self.auth = hs.get_auth()

        self.clock = hs.get_clock()

        self.auth_handler = self.hs.get_auth_handler()
        self.registration_handler = hs.get_registration_handler()
        self._sso_handler = hs.get_sso_handler()

        self._well_known_builder = WellKnownBuilder(hs)
        self._address_ratelimiter = Ratelimiter(
            store=hs.get_datastores().main,
            clock=hs.get_clock(),
            rate_hz=self.hs.config.ratelimiting.rc_login_address.per_second,
            burst_count=self.hs.config.ratelimiting.rc_login_address.
            burst_count,
        )
        self._account_ratelimiter = Ratelimiter(
            store=hs.get_datastores().main,
            clock=hs.get_clock(),
            rate_hz=self.hs.config.ratelimiting.rc_login_account.per_second,
            burst_count=self.hs.config.ratelimiting.rc_login_account.
            burst_count,
        )

        # ensure the CAS/SAML/OIDC handlers are loaded on this worker instance.
        # The reason for this is to ensure that the auth_provider_ids are registered
        # with SsoHandler, which in turn ensures that the login/registration prometheus
        # counters are initialised for the auth_provider_ids.
        _load_sso_handlers(hs)