-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Allow the Admin API to create a user where the same localpart exists with uppercase letters #11426
Comments
For additional context, see the discussion starting here (sorry to everyone not working for Element and don't have access to this internal room) |
I'm the requestor of the username capitalization change ( |
Worth noting: |
Notes from discussion today:
|
Or maybe the "one-way gate" could cause the deactivation of the non-compliant ID when the compliant one is registered. This would eliminate many edge cases (e.g. |
You probably don't want this for several reasons. For example: you might wanna have both accounts for a period to migrate your rooms and encryption keys. And making sure all is well on the new account before deactivating the old one. Account deactivation is not easily reversed. |
Not sure if we'll get to this before year's end, but we should soon. It seems like a valuable thing to have in terms of shaking out unexpected corner cases in our handling of MXIDs, and malicious / buggy / chaotic server admins could do this already, so we'll have to handle it on the network somehow. |
Hi, any news on this one? Looks like there's a similar issue in dendrite: matrix-org/dendrite#2073. |
Description
Note, I have added a space after the @ in all example Matrix IDs in this issue, this is to avoid pinging the existing @ Alice user on GitHub.
Use case
There are a handful of users who have uppercase letters in their Matrix ID from before Synapse started enforcing lowercase only. They may want to create a new Matrix account with a spec compliant all lowercase localpart.
Ie. they currently have @ Alice:example.com, but want to register @ alice:example.com
Proposed solution
Adding a feature to the User creation Admin API to allow registering @ alice:example.com when @ Alice:example.com already exists.
Authentication endpoints may also need updating when implementing this as these may ignore casing currently.
Security considerations
The localpart availability checker and both client-server and Admin user creation API endpoints ignore casing today and should continue doing this by default.
We should add a parameter to the API something along the lines of
&ignore_localpart_casing_duplicates=true
. This need to be an optional parameter and default tofalse
if not setThe text was updated successfully, but these errors were encountered: