皆さんこんにちは、
Discourse のインスタンスが、以前はメールアドレスの一部(例:「tonysmith1@aol.com」なら「tonysmith1」)をユーザー名として取り込んでいたところ、現在は「user####」のような形式のユーザー名として取り込むようになっているようです。これを変更する方法はありますか?
また、Drupal のユーザープロフィール情報(役職、会社名など)を Discourse のユーザープロフィールに引き継ぐ方法はありますか?
皆さんこんにちは、
Discourse のインスタンスが、以前はメールアドレスの一部(例:「tonysmith1@aol.com」なら「tonysmith1」)をユーザー名として取り込んでいたところ、現在は「user####」のような形式のユーザー名として取り込むようになっているようです。これを変更する方法はありますか?
また、Drupal のユーザープロフィール情報(役職、会社名など)を Discourse のユーザープロフィールに引き継ぐ方法はありますか?
これは最近の変更によるものです。以前は、SSO ペイロードにユーザー名が含まれていない場合、ユーザーのメールアドレスに基づいてユーザー名が作成されていました。しかし、この方法にはユーザーのメールアドレスが露出するリスクがありました。そのため、SSO ペイロードにユーザー名が含まれていない場合、Discourse は現在は「user」に一意な番号を付加した形式でユーザー名を設定するように変更されました。
対策としては、SSO ペイロードにユーザー名を明示的に含めることです。もしどうしてもメールアドレスに基づいてユーザー名を作成したい場合は、メールアドレスを「@」で分割し、アドレスの左側(名前の部分)をユーザー名として送信してください。
DiscourseConnect を SSO として利用されていると存じます。DiscourseConnect では、SSO ペイロードにさまざまなパラメータを設定できます。どのパラメータを設定できるかを確認するには、以下のファイルの上部にある ACCESSORS と BOOLS リストをご覧ください:https://github.com/discourse/discourse/blob/main/lib/single_sign_on.rb。これを見ると、`bio`(自己紹介)と title(肩書)もこの方法で設定できることがわかります。