こんにちは
Discourse の SSO プロバイダーとして、独自の実装で認証サービスを作成しています。動作は問題ないのですが、ログインしていないユーザーが事前入力されたトピックの URL を開くと、Discourse にリダイレクトされた後にその事前入力データが表示されません。
シナリオ全体は以下の通りです:
- ログインしていないユーザーが、事前入力されたトピック作成 URL を開く
- 自動的に SSO ページへリダイレクトされる
- SSO でログインし、
http://discourse_site/session/sso_login?.... へリダイレクトされる
- ここでは、ユーザーがデータが埋め込まれたトピック作成ボックスを表示することを期待していますが、Discourse は最新のトピックページを表示するだけで、トピック作成ボックスすら表示されません
この問題についてご助力いただけないでしょうか?設定に問題があるのか、それともバグなのでしょうか?
また、特定のトピックを開いた状態でログインボタンを押した場合、リダイレクトは正常に動作し、そのトピックに戻れることも確認しています。
「いいね!」 2
simon
2
「いいね!」 2
はい、動作しています。ありがとうございます。
以前のメッセージ:
@simon さんの返信をありがとうございます。残念ながら、うまく動作させることができませんでした。リンクには、以下のような URL を使用すると書かれていました。
http://localhost:3000/session/sso?return_path=http%3A%2F%2Flocalhost%3A3000%2Fnew-message%3Fusername%3Dscossar%26title%3DInformation+requested+about+gentle+yoga+classes
まず、これを公式の Discourse SSS ドキュメント DiscourseConnect 公式シングルサインオン のステージ 6 に追加する必要があると思いました。つまり、以下のようになります。
http://discourse_site/session/sso_login?sso=payload\u0026sig=sig\u0026return_path=https%3A%2F%2Fdiscourse_site%2Fnew-message%3Fusername%3Dscossar%26title%3DInformation%2Brequested%2Babout%2Bgentle%2Byoga%2Bclasses
しかし、これも動作しませんでした。そこで、さまざまな場所でテストを開始しましたが、どれも機能しませんでした。return_path をどこに設定すべきか、もう少し詳しく教えていただけますでしょうか。
「いいね!」 1
simon
4
必要なことは、その投稿に記載された形式でリンクを作成することです。ご自身の Discourse サイトの正しい URL に置き換え、ユーザー名を scossar から、ご自身のサイト内に存在するユーザー名に変更してください。リンクに payload や sig パラメータを追加しないでください。これらは既存の SSO 実装によって自動的に処理されます。return_path パラメータは、ユーザーを事前入力されたトピックを作成する URL にリダイレクトする役割を果たすだけです。
なお、私がリンクした例では、事前入力されたトピックではなく、事前入力されたメッセージを作成しています。トピックを作成するには、例のコードに記載されている return_path を調整する必要があります。
「いいね!」 1
system
(system)
クローズされました:
5
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.