シングルログアウト

ブラウザを落とせ?いやいや、persistent cookieもあるしね。
シングルログアウトは、一見必要性が感じられないことも多いけど、もしペルソナっぽくアイデンティティ切り替えをしようとするなら、価値があるな、と思う。

クロスドメインにおいて他のシステムとの依存性が低まったのは良いのですが、横断的かつ同時性の高いシングルログアウトは非常に設計しにくい。
認証サーバからログアウトメッセージを配布する必要があり、関連システムが1000個と増えた場合を想定すると処理コストが馬鹿にならなくなる。

やむにやまれず : クロスドメインシングルログアウトの難しさはスケーラビリティにある(&生きてます報告)

画像ファイルイメージによるログアウト。サーバ側でセッションを消し込むのじゃなくてクライアントからログアウトリクエストをimg srcに記して各サービスに送る。確かSAMLにもあったし、古典的な手法かも。

ただ、シングルログアウトの対象サービスを(動的なり静的なり)誰かが覚えておく必要があるのは一緒。そういう意味ではべつにソリューションになっていない。

5. OpenID プロバイダでログアウトしたときに, 同時に使っていた Relying Party でもログアウトするような, ブラウザのアドオンを開発する
6. OpenID におけるシングル・ログアウトの仕様を提案する
個人的には 2. がいいかなと思う. 最後のふたつはたぶんないだろうな...

http://blogs.sun.com/tkudo/entry/single_logout_in_openid

OpenIDになると、事前にIdPでRPを認識してないので、仕様に盛り込むというのはたしかに難しそうだけど、多くの実装ではRPのサイトを覚えておいて次回以降ユーザのインタラクションを減らすように工夫しているっぽい(e.g. はてなlivedoor)ので、そのユーザセッションに参加してる可能性のあるサイト、というのは実際把握できると思うのです。あとはログアウトのURLさえわかればいいのだけども。オプション仕様にならないかな。