¿Cambiar nombre de usuario a través de API?

Me gustaría cambiar automáticamente los nombres de usuario a través de la API para que coincidan con la dirección de correo electrónico.
Nuestra comunidad tiene la política de que el nombre de usuario debe ser nombre.inicial.apellido para un usuario con la dirección de correo electrónico nombre.inicial.apellido@empresa.com.
Hasta ahora he estado cambiando los nombres de usuario de las personas poco después del registro, si no cumplían con la regla, manualmente a través de la interfaz de administración, y me gustaría automatizarlo mediante la API o algo similar.
No encontré la llamada en la documentación de la API de Discourse; ¿está oculta en algún lugar la forma de renombrar un usuario?
¿Existe una alternativa, es decir, podría hacer cumplir esa regla ya en el momento del registro?

If everyone works for the company, the usual solution is to use sso. They way they can’t create the wrong username.

4 Me gusta

I would like to dig this back up as I have a similar request. I need a newly registered user’s username to be changed to Firstname_Lastname automatically, but I am already using an SSO (Memberful) and they refuse to do this for ‘security concerns’ :roll_eyes: so I have to do it manually each time a person signs up and inevitably the user emails me about it before I have a chance to change it because it is super boring using only the first name. So is there anyway to to add this as a task? It would of course have to check if the name exists and add a numeral behind it if so. Thanks!

de How does one change a username via the API? - #2 by blake :

Prueba este endpoint en su lugar:

curl -i -sS -X PUT "http://127.0.0.1:3000/u/blake/preferences/username.json"  \
-H "Content-Type: multipart/form-data;" \
-F "api_key=a66d01fbe98cc51b2747d8bfe99f81d7adca18317fbf3c43aa20f340d8e25bfe"  \
-F "api_username=system" \
-F "new_username=blake2"

Y generará:

{"id":1,"username":"blake2"}