あまり良く分かっていなかったシングルサインオン(以下SSO)についてのまとめ。 そもそもSSOとは、IT用語辞典によると ユーザが一度認証を受けるだけで、許可されているすべての機能を利用できるようになるシステム。 のことだ。つまり、 図1のようにアプリが1つの場合には不要である。また 図2のようにアプリが複数でも認証情報(Session)を共有する場合には、SSOサーバは必要ない。各アプリの依存度が高い場合や、負荷分散のための複数プロセス構成のケースではこれで充分。そもそもRailsを使うのならSessionの内容はCookieのなかだし(デフォルトでは)。 独立性の高い各アプリの間で認証情報を共有したい場合にSSOサーバは初めて有効となる。 ここで認証画面を各アプリで持つことも可能であるが、SSOサーバに任せた方が実装の手間も省けるし、セキュリティ的にもパスワードを取得するサーバが一箇所
![シングルサインオン(Single Sign On)の仕組みとSSOサーバの役割 - Rubyで販売管理](https://cdn-ak-scissors.b.st-hatena.com/image/square/53410ab93595b4b318562be84c578a2940cedea9/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fr%2Fruby_hankan%2F20081216%2F20081216000453.jpg)