API を通じて、ユーザー名をメールアドレスに一致するように自動的に変更したいと考えています。
当社のコミュニティでは、ユーザー名はメールアドレス(firstname.infix.lastname@company.com)に対応して「firstname.infix.lastname」の形式である必要があります。
これまで、登録後に条件に合わないユーザー名を手動で管理画面から変更していましたが、これを API や同様の方法で自動化したいと考えています。
Discourse の API ドキュメントでは該当する呼び出しが見つかりませんでした。ユーザー名の変更方法はどこかに隠されているのでしょうか?
あるいは、サインアップ時点でこのルールを強制する別の方法はあるでしょうか?
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!
How does one change a username via the API? - #2 by blake から:
代わりにこのエンドポイントを試してください:
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"そして、それは次のように出力されます:
{"id":1,"username":"blake2"}