Add config option to use email as display name for new users

This commit is contained in:
Erik Johnston 2019-04-03 10:26:56 +01:00
parent 53dd358c83
commit 8c0ebe3026
2 changed files with 24 additions and 13 deletions

View file

@ -42,6 +42,9 @@ class RegistrationConfig(Config):
self.registration_shared_secret = config.get("registration_shared_secret") self.registration_shared_secret = config.get("registration_shared_secret")
self.register_mxid_from_3pid = config.get("register_mxid_from_3pid") self.register_mxid_from_3pid = config.get("register_mxid_from_3pid")
self.register_just_use_email_for_display_name = config.get(
"register_just_use_email_for_display_name", False,
)
self.bcrypt_rounds = config.get("bcrypt_rounds", 12) self.bcrypt_rounds = config.get("bcrypt_rounds", 12)
self.trusted_third_party_id_servers = config.get( self.trusted_third_party_id_servers = config.get(
@ -111,6 +114,11 @@ class RegistrationConfig(Config):
# #
#register_mxid_from_3pid: email #register_mxid_from_3pid: email
# Uncomment to set the display name of new users to their email address,
# rather than using the default heuristic.
#
#register_just_use_email_for_display_name: 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.
# #

View file

@ -454,21 +454,24 @@ class RegisterRestServlet(RestServlet):
# something else went wrong. # something else went wrong.
break break
# XXX: a nasty heuristic to turn an email address into if self.config.register_just_use_email_for_display_name:
# a displayname, as part of register_mxid_from_3pid desired_display_name = address
parts = address.replace('.', ' ').split('@')
org_parts = parts[1].split(' ')
if org_parts[-2] == "matrix" and org_parts[-1] == "org":
org = "Tchap Admin"
elif org_parts[-2] == "gouv" and org_parts[-1] == "fr":
org = org_parts[-3] if len(org_parts) > 2 else org_parts[-2]
else: else:
org = org_parts[-2] # XXX: a nasty heuristic to turn an email address into
# a displayname, as part of register_mxid_from_3pid
parts = address.replace('.', ' ').split('@')
org_parts = parts[1].split(' ')
desired_display_name = ( if org_parts[-2] == "matrix" and org_parts[-1] == "org":
capwords(parts[0]) + " [" + capwords(org) + "]" org = "Tchap Admin"
) elif org_parts[-2] == "gouv" and org_parts[-1] == "fr":
org = org_parts[-3] if len(org_parts) > 2 else org_parts[-2]
else:
org = org_parts[-2]
desired_display_name = (
capwords(parts[0]) + " [" + capwords(org) + "]"
)
elif ( elif (
self.hs.config.register_mxid_from_3pid == 'msisdn' and self.hs.config.register_mxid_from_3pid == 'msisdn' and
LoginType.MSISDN in auth_result LoginType.MSISDN in auth_result