synapse-product/synapse/rest/client
Brendan Abolivier 95b3f952fa
Add a config flag to inhibit M_USER_IN_USE during registration (#11743)
This is mostly motivated by the tchap use case, where usernames are automatically generated from the user's email address (in a way that allows figuring out the email address from the username). Therefore, it's an issue if we respond to requests on /register and /register/available with M_USER_IN_USE, because it can potentially leak email addresses (which include the user's real name and place of work).

This commit adds a flag to inhibit the M_USER_IN_USE errors that are raised both by /register/available, and when providing a username early into the registration process. This error will still be raised if the user completes the registration process but the username conflicts. This is particularly useful when using modules (https://github.com/matrix-org/synapse/pull/11790 adds a module callback to set the username of users at registration) or SSO, since they can ensure the username is unique.

More context is available in the PR that introduced this behaviour to synapse-dinsic: matrix-org/synapse-dinsic#48 - as well as the issue in the matrix-dinsic repo: matrix-org/matrix-dinsic#476
2022-01-26 13:02:54 +01:00
..
__init__.py Flatten the synapse.rest.client package (#10600) 2021-08-17 11:57:58 +00:00
_base.py Add support for /_matrix/client/v3 APIs (#11318) 2021-11-16 14:47:58 +01:00
account_data.py Make the get_global_account_data_by_type_for_user cache be a tree-cache whose key is prefixed with the user ID (#11788) 2022-01-21 08:38:36 +00:00
account_validity.py Addtional type hints for the REST servlets. (#10665) 2021-08-23 08:14:17 -04:00
account.py Use direct references for configuration variables (part 7). (#10959) 2021-10-04 07:18:54 -04:00
auth.py Require direct references to configuration variables. (#10985) 2021-10-06 10:47:41 -04:00
capabilities.py Include io.element.thread capability for MSC3440. (#11690) 2022-01-05 12:08:03 -05:00
devices.py Make get_device return None if the device doesn't exist rather than raising an exception. (#11565) 2021-12-13 15:39:43 +00:00
directory.py Addtional type hints for the REST servlets. (#10665) 2021-08-23 08:14:17 -04:00
events.py Bundle aggregations outside of the serialization method. (#11612) 2022-01-07 09:10:46 -05:00
filter.py Use direct references for configuration variables (part 6). (#10916) 2021-09-29 06:44:15 -04:00
groups.py Additional type hints for client REST servlets (part 5) (#10736) 2021-09-03 09:22:22 -04:00
initial_sync.py Additional type hints for REST servlets (part 2). (#10674) 2021-08-26 11:53:52 +00:00
keys.py Add support for /_matrix/client/v3 APIs (#11318) 2021-11-16 14:47:58 +01:00
knock.py Additional type hints for client REST servlets (part 4) (#10728) 2021-09-01 11:59:32 -04:00
login.py Stabilise support for MSC2918 refresh tokens as they have now been merged into the Matrix specification. (#11435) 2021-12-06 19:11:43 +00:00
logout.py Additional type hints for REST servlets (part 2). (#10674) 2021-08-26 11:53:52 +00:00
notifications.py Bundle aggregations outside of the serialization method. (#11612) 2022-01-07 09:10:46 -05:00
openid.py Use direct references for some configuration variables (#10798) 2021-09-13 13:07:12 -04:00
password_policy.py Use direct references for some configuration variables (part 3) (#10885) 2021-09-23 07:13:34 -04:00
presence.py Additional type hints for REST servlets (part 2). (#10674) 2021-08-26 11:53:52 +00:00
profile.py Use direct references for configuration variables (part 6). (#10916) 2021-09-29 06:44:15 -04:00
push_rule.py Require direct references to configuration variables. (#10985) 2021-10-06 10:47:41 -04:00
pusher.py Addtional type hints for the REST servlets. (#10665) 2021-08-23 08:14:17 -04:00
read_marker.py Add a constant for receipt types (m.read). (#11531) 2021-12-08 12:26:29 -05:00
receipts.py Add a constant for receipt types (m.read). (#11531) 2021-12-08 12:26:29 -05:00
register.py Add a config flag to inhibit M_USER_IN_USE during registration (#11743) 2022-01-26 13:02:54 +01:00
relations.py Include whether the requesting user has participated in a thread. (#11577) 2022-01-18 11:38:57 -05:00
report_event.py Additional type hints for client REST servlets (part 4) (#10728) 2021-09-01 11:59:32 -04:00
room_batch.py Rename to more clear get_insertion_event_id_by_batch_id (MSC2716) (#11244) 2021-11-08 21:21:10 -06:00
room_keys.py Additional type hints for client REST servlets (part 4) (#10728) 2021-09-01 11:59:32 -04:00
room_upgrade_rest_servlet.py Addtional type hints for the REST servlets. (#10665) 2021-08-23 08:14:17 -04:00
room.py Do not try to serialize raw aggregations dict. (#11791) 2022-01-21 10:31:31 +00:00
sendtodevice.py Additional type hints for client REST servlets (part 4) (#10728) 2021-09-01 11:59:32 -04:00
shared_rooms.py Use direct references for configuration variables (part 6). (#10916) 2021-09-29 06:44:15 -04:00
sync.py Include bundled aggregations in the sync response cache. (#11659) 2022-01-13 10:45:28 -05:00
tags.py Addtional type hints for the REST servlets. (#10665) 2021-08-23 08:14:17 -04:00
thirdparty.py Addtional type hints for the REST servlets. (#10665) 2021-08-23 08:14:17 -04:00
tokenrefresh.py Addtional type hints for the REST servlets. (#10665) 2021-08-23 08:14:17 -04:00
transactions.py Additional type hints for client REST servlets (part 5) (#10736) 2021-09-03 09:22:22 -04:00
user_directory.py Use direct references for configuration variables (part 5). (#10897) 2021-09-24 07:25:21 -04:00
versions.py Add MSC2716 and MSC3030 to /versions -> unstable_features (#11582) 2021-12-16 11:25:37 -06:00
voip.py Fix getTurnServer response: return an integer ttl (#10922) 2021-09-30 08:04:55 -04:00