mirror of
https://mau.dev/maunium/synapse.git
synced 2024-11-17 07:21:37 +01:00
Merge pull request #4423 from matrix-org/neilj/disable_msisdn_on_registration
Config option to disable requesting MSISDN on registration
This commit is contained in:
commit
388c164aea
3 changed files with 15 additions and 11 deletions
1
changelog.d/4423.feature
Normal file
1
changelog.d/4423.feature
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Config option to disable requesting MSISDN on registration.
|
|
@ -50,6 +50,10 @@ class RegistrationConfig(Config):
|
||||||
raise ConfigError('Invalid auto_join_rooms entry %s' % (room_alias,))
|
raise ConfigError('Invalid auto_join_rooms entry %s' % (room_alias,))
|
||||||
self.autocreate_auto_join_rooms = config.get("autocreate_auto_join_rooms", True)
|
self.autocreate_auto_join_rooms = config.get("autocreate_auto_join_rooms", True)
|
||||||
|
|
||||||
|
self.disable_msisdn_registration = (
|
||||||
|
config.get("disable_msisdn_registration", False)
|
||||||
|
)
|
||||||
|
|
||||||
def default_config(self, generate_secrets=False, **kwargs):
|
def default_config(self, generate_secrets=False, **kwargs):
|
||||||
if generate_secrets:
|
if generate_secrets:
|
||||||
registration_shared_secret = 'registration_shared_secret: "%s"' % (
|
registration_shared_secret = 'registration_shared_secret: "%s"' % (
|
||||||
|
@ -70,6 +74,11 @@ class RegistrationConfig(Config):
|
||||||
# - email
|
# - email
|
||||||
# - msisdn
|
# - msisdn
|
||||||
|
|
||||||
|
# Explicitly disable asking for MSISDNs from the registration
|
||||||
|
# flow (overrides registrations_require_3pid if MSISDNs are set as required)
|
||||||
|
#
|
||||||
|
# disable_msisdn_registration = True
|
||||||
|
|
||||||
# Mandate that users are only allowed to associate certain formats of
|
# Mandate that users are only allowed to associate certain formats of
|
||||||
# 3PIDs with accounts on this server.
|
# 3PIDs with accounts on this server.
|
||||||
#
|
#
|
||||||
|
|
|
@ -309,22 +309,16 @@ class RegisterRestServlet(RestServlet):
|
||||||
assigned_user_id=registered_user_id,
|
assigned_user_id=registered_user_id,
|
||||||
)
|
)
|
||||||
|
|
||||||
# Only give msisdn flows if the x_show_msisdn flag is given:
|
|
||||||
# this is a hack to work around the fact that clients were shipped
|
|
||||||
# that use fallback registration if they see any flows that they don't
|
|
||||||
# recognise, which means we break registration for these clients if we
|
|
||||||
# advertise msisdn flows. Once usage of Riot iOS <=0.3.9 and Riot
|
|
||||||
# Android <=0.6.9 have fallen below an acceptable threshold, this
|
|
||||||
# parameter should go away and we should always advertise msisdn flows.
|
|
||||||
show_msisdn = False
|
|
||||||
if 'x_show_msisdn' in body and body['x_show_msisdn']:
|
|
||||||
show_msisdn = True
|
|
||||||
|
|
||||||
# FIXME: need a better error than "no auth flow found" for scenarios
|
# FIXME: need a better error than "no auth flow found" for scenarios
|
||||||
# where we required 3PID for registration but the user didn't give one
|
# where we required 3PID for registration but the user didn't give one
|
||||||
require_email = 'email' in self.hs.config.registrations_require_3pid
|
require_email = 'email' in self.hs.config.registrations_require_3pid
|
||||||
require_msisdn = 'msisdn' in self.hs.config.registrations_require_3pid
|
require_msisdn = 'msisdn' in self.hs.config.registrations_require_3pid
|
||||||
|
|
||||||
|
show_msisdn = True
|
||||||
|
if self.hs.config.disable_msisdn_registration:
|
||||||
|
show_msisdn = False
|
||||||
|
require_msisdn = False
|
||||||
|
|
||||||
flows = []
|
flows = []
|
||||||
if self.hs.config.enable_registration_captcha:
|
if self.hs.config.enable_registration_captcha:
|
||||||
# only support 3PIDless registration if no 3PIDs are required
|
# only support 3PIDless registration if no 3PIDs are required
|
||||||
|
|
Loading…
Reference in a new issue