summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
authorDirk Klimpel <5740567+dklimpel@users.noreply.github.com>2020-06-05 14:08:49 +0200
committerGitHub <noreply@github.com>2020-06-05 13:08:49 +0100
commit908f9e2d24617a62f5e2fe52aa68941c64b0fde3 (patch)
tree6ded245dad2dc2457968ea173b88ad3a13bcbc4e /synapse
parentAdd device management to admin API (#7481) (diff)
downloadsynapse-908f9e2d24617a62f5e2fe52aa68941c64b0fde3.tar.xz
Allow new users to be registered via the admin API even if the monthly active user limit has been reached (#7263)
Diffstat (limited to 'synapse')
-rw-r--r--synapse/handlers/register.py7
-rw-r--r--synapse/rest/admin/users.py2
2 files changed, 8 insertions, 1 deletions
diff --git a/synapse/handlers/register.py b/synapse/handlers/register.py

index cd746be7c8..ffda09226c 100644 --- a/synapse/handlers/register.py +++ b/synapse/handlers/register.py
@@ -150,6 +150,7 @@ class RegistrationHandler(BaseHandler): default_display_name=None, address=None, bind_emails=[], + by_admin=False, ): """Registers a new client on the server. @@ -165,6 +166,8 @@ class RegistrationHandler(BaseHandler): will be set to this. Defaults to 'localpart'. address (str|None): the IP address used to perform the registration. bind_emails (List[str]): list of emails to bind to this account. + by_admin (bool): True if this registration is being made via the + admin api, otherwise False. Returns: Deferred[str]: user_id Raises: @@ -172,7 +175,9 @@ class RegistrationHandler(BaseHandler): """ yield self.check_registration_ratelimit(address) - yield self.auth.check_auth_blocking(threepid=threepid) + # do not check_auth_blocking if the call is coming through the Admin API + if not by_admin: + yield self.auth.check_auth_blocking(threepid=threepid) if localpart is not None: yield self.check_username(localpart, guest_access_token=guest_access_token) diff --git a/synapse/rest/admin/users.py b/synapse/rest/admin/users.py
index 82251dbe5f..fefc8f71fa 100644 --- a/synapse/rest/admin/users.py +++ b/synapse/rest/admin/users.py
@@ -270,6 +270,7 @@ class UserRestServletV2(RestServlet): admin=bool(admin), default_display_name=displayname, user_type=user_type, + by_admin=True, ) if "threepids" in body: @@ -432,6 +433,7 @@ class UserRegisterServlet(RestServlet): password_hash=password_hash, admin=bool(admin), user_type=user_type, + by_admin=True, ) result = await register._create_registration_details(user_id, body)