Discourse Connect (SSO) を使用してアバター、ユーザー名、名前を更新する方法は?

Discourse SSOhttps://forum.mycoralapp.com で設定できました。

初回は、ユーザーのメールアドレス、名前、ユーザー名、アバターを個別に設定してユーザーを作成できます。

しかし、問題は、アプリ側で変更があった場合に、Discourse のユーザー情報を更新するにはどうすればよいかということです。ログアウトして SSO で再ログインし、異なる名前、ユーザー名、写真を送信しても、古い情報が残ったままです。管理画面でこれらの項目をオフにしましたが、アバターだけでも上書きされるはずなのに、何も起こりません。

名前とユーザー名は常に変更可能なのでしょうか?なぜ「アバター」と一緒に記載されていないのでしょうか?実際には、何も変更されません。

「いいね!」 1

アプリが実行しているDiscourse Connectコードを共有していただけますか? 情報が正しく送信されていないようです。

「いいね!」 2

このようなものです。Here is some PHP code and you'd do similar for iOS and Android. Remember to intercept the URL request in WebView! · GitHub

アカウントを作成するには十分ですが、その後のログインで上書きされません。

これによると、「SiteSetting.discourse_connect_overrides_avatar」などを設定するためにRailsアプリに入力する必要があるとのことです。古い指示のためか分かりませんが、管理コントロールパネルには「override name」や「override username」のような項目すらありません。

「いいね!」 2

@EGreg これに対する解決策は見つかりましたか?
私もセルフホストのDiscourseで同じ問題に直面しています。
SSOを実装する前に存在していた既存のアカウントのユーザー名をSSOが上書きしないようです。「ユーザー名を上書きする」設定が有効になっているにもかかわらず。

@pfaffman が手伝ってくれて、うまくいったと思います。確認する必要があります。ジェイ?

「いいね!」 1

申し訳ありません。既存のアカウントがどのように接続されるか、または名前が変更されるかについては、全く分かりません。そのため、他のトピックに返信しませんでした。

「いいね!」 1

このトピックのOPを見ると、スクリーンショットでは auth overrides username 設定が有効になっていないことがわかります。DiscourseConnect がユーザー名を上書きするには、この設定を有効にする必要があります。これらの3つの設定がDiscourseConnectに関連していることを、設定ページでより明確に表示すると良いでしょう。

  • auth overrides email
  • auth overrides username
  • auth overrides name

また、ユーザーがDiscourseからログアウトし、DiscourseConnect経由で再度ログインしていることを確認してください。Discourseからログアウトしないと、変更は反映されません。その問題は、ユーザーに代わって sync_sso ルートにAPI呼び出しを行うことで回避できます。Sync DiscourseConnect user data with the sync_sso route

「いいね!」 3

皆さん、ありがとうございました。
別のユーザー名で再度試したところ、うまくいきました。
Discourse のユーザー名ルールに関連しているのではないかと思いました。新しいユーザー名はアンダースコアで始まっていたため、Discourse のルールに従って無効であり、それがフォーラムに反映されなかった理由である可能性があります。

「いいね!」 2