Discourseがアイデンティティプロバイダーの場合、外部ユーザーIDを保存しますか?

@david、ありがとうございます。面白いことに、それはまさに私が他の方向(私のRailsアプリのユーザープロファイルからDiscourseのユーザープロファイルへ)をリンクするために行ったことと同じです。このDiscourseプラグイン/user-by-id/123/summary)を使用しました。私のRailsアプリはユーザー名ではなくDiscourseのユーザーIDを保存しているため(ユーザー名は変更される可能性があるため)です。

そのソリューションは、すべてのフォーラムユーザーが私のRailsアプリにユーザープロファイルを持っているわけではないという事実を除けば、逆方向にも機能するでしょう。Railsのユーザーは、Discourseのユーザーが組織に「参加」したときにのみ作成されますが、Discourseフォーラムには非メンバーを含めることができます。

したがって、私の2つの選択肢は次のようになると思います。

A) Ajaxリクエストを私のRailsアプリに送信して、DiscourseユーザーがRailsアプリのユーザーでもあるかどうかを判断し、もしそうであればリンクを表示するJavaScriptプラグインを作成する。または
B) Railsアプリのユーザーが作成され、Discourseユーザーにリンクされた時点で、RailsアプリデータベースにDiscourseユーザーIDを保存するだけでなく、何らかの方法でRailsユーザーIDをDiscourseユーザープロファイルに保存する(例:カスタムユーザーフィールドとして)。

カスタムユーザーフィールドに慣れていないことや、APIからアクセスできるかどうかはわかりませんが、(B)の方が良い解決策だと感じています。

編集:これを最後に調べたときに思い出したのですが、問題はカスタムユーザーフィールドはユーザーが編集できるため、システム生成の参照を保存する場所としては不適切であるということです。