ウェブサイトでユーザーがDiscourseにログインしているかどうかを確認するにはどうすればよいですか?

デスクトップアプリケーションを構築しており、フォーラム(もちろんDiscourseを実行)とウェブサイトも併せて作成しています。

ウェブサイトでは、ウェブサイトの訪問者がフォーラムにログインしている場合に、追加情報を表示したいと考えています。

ウェブサイトまたはデスクトップアプリケーションからログインする方法はわかりました(こちらの投稿を参照してください)、しかし、実際にログインを求めることなく、ウェブサイトの訪問者がログインしているかどうか(もしログインしていれば、誰であるか)を確認する方法が見つかりません。

Discourse APIなどを使用して、そのような方法がありますか?

「いいね!」 1

SSOペイロードからユーザーIDを取得し、Discourse APIリクエストを使用してユーザー名と現在のログイン状態を取得する必要があると思われます。

フォーラムのウェブサイトでユーザーがログインした場合、後でSSOペイロードを取得するにはどうすればよいですか?自分でログインを開始する場合(リンク {forum_url}/session/sso_provider?sso=... などを生成して)は取得方法を知っていますが、ユーザーがログインを開始した場合、SSOペイロードをどのように取得できるのか全くわかりません。

それは確かに可能であるはずですが、APIリクエストの正確なURLは https://docs.discourse.org に記載されていないようです。正しいURLは何でしょうか?

「いいね!」 1

ペイロードのJSONデータからuser_auth_tokenにアクセスする必要があるのではないでしょうか?推測ですが、アイデアのヒントになれば幸いです。Discourse Connect SSOについて詳しい方が助けてくれるかもしれません。