正直なところ、この問題の説明が、以前のWordPressの登録フォームが2つあるという問題の説明とどのように関連しているのか、少し混乱しています。しかし、それでもお手伝いできると思います。
まず理解しておいていただきたいのは、2つの異なるドメインにある2つの異なるサービスに瞬時にログインする方法は(そして、これまでもありませんでした)、存在しないということです。サービスAのドメインAでログインしているように見え、ドメインBのサービスBにアクセスしたときにログインしている場合、実際には、ドメインBにアクセスしてログインプロセスが開始されたときに、サービスA経由でサービスBにログインしただけであり、それ以前ではありません。
また、セッションを必要とするアプリの特定の場所にユーザーをリダイレクトしたいという、あなたが説明している特定のシナリオを除けば、ほとんどのユーザーは、サービスBで「ログイン」をクリックする必要があるという事実を気にしないか、それに気づかないということも理解しておく必要があります。アイデンティティソリューションでクライアントと協力してきた経験から、サイト管理者はユーザーよりもこの点に敏感であることが一般的です。
この仕組みは変わっていません。ユーザーが「自動的に」ログインしているように見えるときは、実際にはWordPressにリダイレクトされ、WordPressでのセッションが認証されるとDiscourseにリダイレクトされています。WordPressにすでにログインしている場合、このリダイレクトはユーザーが何もする必要なしに発生するため、「自動的に」Discourseにログインしたように見えます。
「自動」ログインをトリガーし、ログイン後にDiscourseの特定の場所にリダイレクトする1つの方法は、すでに共有したパスを使用することです。
https://community.showprowess.com/session/sso?return_path=[any path in Discourse]
ユーザーがこのURLを使用するときにWordPressにログインしているが、まだDiscourseにログインしていない場合、次のようになります。
- Discourseは自動的にDiscourseConnectログインプロセスを開始します。
- ユーザーのブラウザはWordPressにリダイレクトされます。
- ユーザーはすでにログインしているため、自動的にDiscourseにリダイレクトされます。
- 1でURLに使用された
return_pathの値がある場合、ユーザーはその場所にリダイレクトされます。
ユーザーの視点からは、ブラウザが一瞬読み込まれるのが見えるだけで、実質的にはDiscourseに「自動的に」ログインし、アプリの特定の部分にリダイレクトされます。
サイト設定 discourse connect allows all return paths を true に設定すると、return_path を任意のURL、別のドメインにすることもできることに注意してください。