シナリオ:
ユーザー1がブラウザを起動し、SSO を使用してフォーラムに接続します。しばらく作業した後、ブラウザを閉じます。
同じマシン上でユーザー2がブラウザを起動し、再度 SSO を使用してフォーラムにログインします。このプロセスでは、ユーザー2の資格情報を用いた完全なログイン処理が行われますが、フォーラムに入るとユーザー1としてログインした状態になります。
Discourse では、セッションのタイムアウトを最短で 1 時間に設定できます。つまり、ユーザーは 1 時間以内に PC に戻り、単にログインするだけで、クッキーから前のユーザーの識別情報を取得してそのユーザーとしてセッションを再開できてしまいます。
2016 年にブラウザを閉じた際にクッキーが無効化されるようにする修正が行われましたが、その後元に戻されました。
このため、ブラウザがプライベートモードで動作するように設定されていない場合、複数の人が同じワークステーションを使用する環境では、ソフトウェアのセキュリティが非常に脆弱になります。
この問題に対する修正はありますか?
ありがとうございます
ピーター
Falco
(Falco)
2
同じ質問には同じ回答:
上記のコミット(取り消されたもの)のコードを確認し、それをプラグインに移植してご自身のニーズに合わせて調整してください。
また、SSO システム側でログアウト統合を実装することも可能です。ユーザーがログアウトした際に Discourse を呼び出して、同じユーザーのすべての既存セッションを終了させることができます。
なお、これはセキュリティ上の欠陥とは見なされません。
「いいね!」 1
このような状況で大きな価値があったコードが元に戻されたのは残念です。
セッションを終了するために必要な Discourse の呼び出しについて、ご教示いただけますでしょうか。
ありがとうございました、ラファエル