Create a DiscourseConnect login link

https://forum.example.com/session/sso?return_path=/t/some-slug/23 のようなルートにアクセスすると、Discourse にログインしているかどうかにかかわらず、Discourse は discourse connect url にリダイレクトすると考えられます。これは次の場所で発生します。

その後、SSO プロバイダーサイトは、サイトに既にログインしているユーザーのケースを処理することが期待されます。WP Discourse プラグインは次のように処理します。

そのコード(else ステートメントの後に続く部分)は、既に WordPress にログインしているユーザーのケースを処理します。それらは return_path クエリパラメーターによって提供される URL にリダイレクトされます。したがって、ユーザーの観点からは、直接リターンパス URL に移動しますが、実際には SSO プロバイダーサイトにリダイレクトされ、その後 Discourse に戻ります。

あなたのサイトでの問題は、SSO コードが既にサイトにログインしているユーザーのケースを処理していないことだと考えられます。

現在、これをテストする設定がありません。コードの読み方を間違っている可能性があります。コードを確認する前は、Discourse 側でユーザーが既に Discourse にログインしているかどうかを確認するチェックが実行されると考えていましたが、どうやらそうではないようです。

「いいね!」 3