Cannot change username with SSO enabled

When renaming a user (from jb1 to jb), I get this error message:
There was an error changing your username.

No information is recorded in /logs.
The old username was created because the user used SSO for the first time, and his name was too short. Now, I changed the minimum username length, and wanted to adjust his name.

1 me gusta

what happens when you rename to jb2 … jx ?

Almost certainly a length restriction. Unlikely to be a bug.

Is there any setting for length restrictions apart from min username length, which I have set to 2?
Setting any other name does not work either.

Changing username minimum after the fact (e.g. setting minimum username length to 4 chars, when you have ten users with 2 char usernames) will cause lots of problems.

1 me gusta

what happens if you restart your container, maybe something bad is cached?

I restarted (or in fact: rebuild) the container, this did not help.

I found it: sso overrides username prevents the name change.

I still consider this situation a bug. Enabling this setting should either hide the Change Username button from the administrator panel and disable the users/.../preferences/username page, or still allow username changes for admins (possibly with a warning).
I’d prefer the latter, to allow admins to manually “untangle” cases where Discourse’s change-illegal-names-system has created unintended names.

6 Me gusta

Este PR agrega casos de prueba para el problema descrito en el OP, para asegurar que, en general, la sobrescritura del nombre de usuario, por ejemplo, de jb1 a jb, funcione:

Voy a echar un vistazo a esto.

6 Me gusta

Resultó que ya está arreglado. Ocultamos este lápiz cuando la configuración está activada:

Además, mostramos esto si un administrador está intentando cambiar el nombre de usuario de algún usuario:

3 Me gusta

Este tema se cerró automáticamente después de 5 días. Ya no se permiten nuevas respuestas.