SSOを実装しようとするとログインセッションがタイムアウトする

当社のフロントエンドはReact、バックエンドはDjangoで、アプリケーションのディスカッションプラットフォームとしてDiscourseを使用したいと考えています。問題は、バックエンドAPIがリダイレクトURLを返す際に、プロセス全体が完了するのにわずか1秒しかかからないにもかかわらず、ログインタイムアウトが返されることです。

手順は以下の通りです。

  • ディスカッションフォーラムを開くトリガーが発生すると、フロントエンドはバックエンドにAPIコールを行います。
  • バックエンドはDiscourseにリクエストを送信し、ペイロードと署名とともにdiscourse_connect_urlにリダイレクトされます。
  • 認証が行われます。
  • その後、return_urlがリクエストを行った最初のAPIコールに送り返され、フロントエンドにJSONレスポンスとして送信されます。

URLにアクセスしようとすると、セッションタイムアウトが発生します。URLが作成された直後にアクセスしようとしても、ログインタイムアウトエラーが発生します。このアプローチは悪いのでしょうか?何が間違っているのでしょうか?

「いいね!」 1

両方のサーバーの時計は正確ですか?

はい、両方のサーバーの時刻は同じです。

ホスト名が微妙に異なっていて、間違ったホスト名にリダイレクトされているため、接続できないということでしょうか?(可能性は低いですが、他に思いつきません。)