rysher
(Rysher)
1
ログインを試みると、常に以下のエラーが返されます:
「ログインエラー
アカウントのログインがタイムアウトしました。再度ログインしてください。」
https://domain/session/sso_login?sso=bm9...&sig=e4f7…
また、詳細な SSO ログには「Nonce がすでに有効期限切れです」と表示されており、他のエラーメッセージは見当たりません。
本番環境と開発環境の両方で動作しないため、サーバー設定の問題ではないと考えています。SSO コードに変更もありません。
さらに調査すべき方向性を示していただけますでしょうか?SSO に変更があったか、2.5.1 から 2.6.2 の間に新しい設定オプションが追加されたでしょうか?
rysher
(Rysher)
2
最近の「Attach DiscourseConnect (SSO) nonce to current session」の結果でしょうか?
david
(David Taylor)
3
あなたのサイトのリンクを共有することはできますか?アプリを使った特別な設定がありますか、それともユーザーは単にブラウザを利用していますか?
david
(David Taylor)
4
@rysher さん、詳細を PM でありがとうございます。他の皆様にも役立つかもしれませんので、この問題の原因は、DiscourseConnect フローがアイデンティティプロバイダーからのサーバーサイドリクエストで開始されていた点にあります。これはプロトコルの設計意図とは異なりますが、最近のセキュリティコミット以前は技術的に可能でした。
解決策は、ユーザーをアイデンティティプロバイダーへリダイレクトする前に、まず自身のブラウザで /session/sso に誘導することです。