Ich möchte Benutzernamen über die API automatisch so ändern, dass sie der E-Mail-Adresse entsprechen.
Unsere Community-Policy schreibt vor, dass der Benutzername für eine E-Mail-Adresse im Format firstname.infix.lastname@company.com ebenfalls firstname.infix.lastname lauten muss.
Bisher habe ich die Benutzernamen kurz nach der Registrierung manuell über die Admin-Oberfläche angepasst, falls sie nicht dieser Regel entsprachen, und möchte diesen Prozess nun über die API oder eine ähnliche Methode automatisieren.
Ich habe den entsprechenden Aufruf in der Discourse-API-Dokumentation nicht gefunden – ist die Anleitung zum Umbenennen eines Benutzers irgendwo versteckt?
Gibt es eine alternative Möglichkeit, also könnte ich diese Regel bereits zum Zeitpunkt der Anmeldung durchsetzen?
If everyone works for the company, the usual solution is to use sso. They way they can’t create the wrong username.
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’
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!
von How does one change a username via the API? - #2 by blake :
Versuchen Sie stattdessen diesen Endpunkt:
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"Und es wird ausgeben:
{"id":1,"username":"blake2"}