あまり良く分かっていなかったシングルサインオン(以下SSO)についてのまとめ。 そもそもSSOとは、IT用語辞典によると ユーザが一度認証を受けるだけで、許可されているすべての機能を利用できるようになるシステム。 のことだ。つまり、 図1のようにアプリが1つの場合には不要である。また 図2のようにアプリが複数でも認証情報(Session)を共有する場合には、SSOサーバは必要ない。各アプリの依存度が高い場合や、負荷分散のための複数プロセス構成のケースではこれで充分。そもそもRailsを使うのならSessionの内容はCookieのなかだし(デフォルトでは)。 独立性の高い各アプリの間で認証情報を共有したい場合にSSOサーバは初めて有効となる。 ここで認証画面を各アプリで持つことも可能であるが、SSOサーバに任せた方が実装の手間も省けるし、セキュリティ的にもパスワードを取得するサーバが一箇所