問題:SSOの実装

Development 2月 22, 2007
(Last Updated On: 2007年2月22日)

WebサイトでSSO(Single Sign On)を実装するところも増えてきています。
比較的最近、SSO実装について議論する機会が幾つかありました。WebでSSOを実装する場合にどう実装すべきか議論したのですが、設計上に問題がある実装をイメージされている場合がありました。

Webサイトの場合、認証情報・状態を管理するサーバ(認証サーバ )とそれを利用するサーバ(認証クライアント)が通信してSSOを実現します。

SSOの目的は

  • 認証情報(ユーザ名とパスワード)を一元管理する
  • 認証状態(ログイン状態)を一元管理する

です。

問題:SSOの実装には認証サーバと認証クライアントの通信にユーザ名・パスワードは必要ありません。認証サーバと認証クライアント間の通信にユーザ名・パスワードが必要ないSSO実装を述べよ。

CAS(JA-SIG Central Authentication Service)、JOSSO、OpenSSO等を使う、と言う手もあります。(JOSSO 1.5はPHP、ASPのインターフェースもできたようです)これらのSSOシステムを使うと問題の意味がありません。LLだけで作ってもたいした手間ではないので解答は全部自前で実装することが前提です。適切なセッション管理を各認証クライアント(サーバ)が行っている事とします。

解答は別のブログエントリで。
# 忙しいので早くても再来週くらい、かな。

投稿者: yohgaki