DiscourseをSSOプロバイダーおよびソーシャルサインアップとして使用する際の問題

こんにちは、

問題

API(ドメイン A)を介して Discourse を SSO プロバイダーとして使用している場合、ソーシャルボタンを使用して Discourse(ドメイン B)に登録しようとすると、即座に create-account モーダルが表示されず、代わりに login モーダルに戻ってしまいます。

この時点で、login モーダルを閉じてから「Sign Up」ボタンをクリックすると、本来最初に表示されるはずだった create-account モーダルが表示されます。

問題のデモ

短い動画デモはこちらです:

  • Edge ブラウザ(キャッシュ/クッキーをクリアし、拡張機能なし)
  • Discourse を SSO プロバイダーとして設定した WP-Discourse を使用(問題を示す最も簡単な方法)

まず表示されるのは、WP-Discourse の SSO ログインリンクをクリックしている様子です。
Facebook ボタンをクリックした後、create-account ではなくログインの モーダル にリダイレクトされてしまいます。

考えられる原因

Discourse と API が呼び出される場所が 異なる ドメインを使用していることです。

プラグインなどが原因ではないことを確認するため、Discourse を SSO プロバイダーとして設定したクリーンな WordPress とクリーンな Discourse(どちらも 異なる ドメイン上)でも同様の問題を再現できました。

:これは WP-Discourse に特有の問題ではなく、問題を示す/テストするのが容易なだけです。Discourse API を消費し、SSO プロバイダーとしても機能する 弊社のアプリ でも同様に再現可能です)。

その他の情報

  • Discourse のセキュリティ設定は無効化されています(効果があるかは不明ですが、CSP は無効、クッキーの設定は「None」または「Disabled」)。
  • Discourse は最新バージョンです
  • SSO でのログインに問題はありません
  • ブラウザのコンソールや Discourse のログにエラーはありません
  • SSO API で一度問題が発生すると、その後に Discourse 上で直接ソーシャルサインアップを試みても同じ問題が発生します。この場合、動作させるにはクッキー/キャッシュをクリアする必要があります(同様の問題はこちらで報告されています:https://meta.discourse.org/t/suggestion-unite-the-sign-up-log-in-buttons/160085)

Discourse は、手動で「Sign Up」をクリックした後に 事前入力済み のフィールドを含む期待される create-modal を表示できるため、バグか、Discourse が処理すべき状況があるのではないかと考えられますが、私の認識は間違っていますか?

この動作を修正するために何かできることはありますか?何か見落としているのでしょうか?

よろしくお願いいたします。

「いいね!」 5

このバグがまた無視されるほど重要ではないのでしょうか?

1 月に同様の問題を報告しましたが、ここではバニラの Discourse と公式の SSO 実装のみを使用した最小限の再現例をご覧いただけます。もし何かあるなら、バグであることを認めていただくか、私たちのやり方が間違っていることを指摘していただきたいのです。

この問題にどうすれば注目してもらえますか?資金の問題であれば、チームメンバーを雇用することは可能でしょうか?

– 落胆したクライアント兼開発者

「いいね!」 1

こんにちは。デフォルトの WordPress インストールに wp-discourse を設定し、WP を SSO クライアントとして設定し、Discourse で Facebook ログインを設定しました。両方のウェブサイトは異なるドメインでホストされています。

数日〜数週間、両方のウェブサイトを公開し、Facebook アカウントを持つ誰でも問題を自分で確認できるようにします。

編集:開発用の Discourse を削除しましたが、arkshine の動画と同じ動作をしていました。

「Facebook でログイン」をクリックすると、「新しいアカウントを作成」ポップアップ(事前にフィールドが埋め込まれたもの)が表示される代わりに、同じポップアップが再度表示されます。

「いいね!」 3