私が伝えたいことを理解していただけていないようです。ログイン後にDiscourseからユーザー詳細を取得することについて質問しているのではありません。私が達成しようとしていることの完全な流れを理解し、Discourseでそれが可能かどうか、または独自の(アプローチで進めるべきか教えてください。
現在、Laravelフレームワークを使用してプロジェクトを構築しており、ユーザーにフィードバックのためにDiscourseフォーラムへのアクセスを提供したいと考えています。DiscourseのSSOログインを実装することにしました。Discourseの管理者アカウントを作成し、SSOログインに必要な設定(SSOの有効化、リダイレクトURLの設定、シークレットの設定を含む)を有効にしました。
次に、プロジェクト内に「Discourse Connect」ボタンを追加しました。ユーザーがこのボタンをクリックすると、私の認証情報を使用して登録またはログインし、Discourseに自動的にログインできるようにしたいと考えています。ユーザーが「Discourse Connect」ボタンをクリックすると、セッション/ssoエンドポイントを持つ私のベースコミュニティURLにリダイレクトされ、そこからDiscourse Connect URLにリダイレクトされます。リクエストでSSOおよびsigパラメータを受け取りますが、これらは検証用であると理解しています。しかし、ユーザーを検証、認証し、Discourseにログインさせるために、ユーザーIDまたは何らかの識別子が必要です。
私の質問は次のとおりです。Discourseに、リクエストでSSOおよびsigパラメータとともにuser_idを返すAPIまたは何らかのメカニズムはありますか?リクエストでユーザーデータを取得できない場合、ユーザーに再度ログインを求める必要があり、これはユーザーエクスペリエンスを低下させるため、これは重要です。基本的に、ユーザーが私のプロジェクトにログインして「Discourse Connect」ボタンをクリックすると、Discourse Connect URLがトリガーされ、SSOおよびsigパラメータを受け取ります。ユーザーを認証するために、データベースからユーザーデータを取得する必要がありますが、これにはユーザーに再度ログインしてもらう必要があり、これは避けたいことです。
一度ログインすれば、再度ログインする必要がないシームレスなエクスペリエンスを求めています。プロジェクトの認証情報を使用して、Discourseフォーラムに直接アクセスできるはずです。