EGreg
(Greg Magarshak)
1
Discourse SSO を https://forum.mycoralapp.com で設定できました。
初回は、ユーザーのメールアドレス、名前、ユーザー名、アバターを個別に設定してユーザーを作成できます。
しかし、問題は、アプリ側で変更があった場合に、Discourse のユーザー情報を更新するにはどうすればよいかということです。ログアウトして SSO で再ログインし、異なる名前、ユーザー名、写真を送信しても、古い情報が残ったままです。管理画面でこれらの項目をオフにしましたが、アバターだけでも上書きされるはずなのに、何も起こりません。
名前とユーザー名は常に変更可能なのでしょうか?なぜ「アバター」と一緒に記載されていないのでしょうか?実際には、何も変更されません。
「いいね!」 1
pfaffman
(Jay Pfaffman)
2
アプリが実行しているDiscourse Connectコードを共有していただけますか? 情報が正しく送信されていないようです。
「いいね!」 2
EGreg
(Greg Magarshak)
3
このようなものです。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が上書きしないようです。「ユーザー名を上書きする」設定が有効になっているにもかかわらず。
EGreg
(Greg Magarshak)
5
@pfaffman が手伝ってくれて、うまくいったと思います。確認する必要があります。ジェイ?
「いいね!」 1
pfaffman
(Jay Pfaffman)
6
申し訳ありません。既存のアカウントがどのように接続されるか、または名前が変更されるかについては、全く分かりません。そのため、他のトピックに返信しませんでした。
「いいね!」 1
simon
7
このトピックの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