シングルサインオン
●はじめに
はじめまして。ns-writerと申します。一介のITコンサルタントをやらせてもらっています。今回、ひょんなことから@IT自分戦略研究所エンジニアライフのコラムニストをさせて頂くことになりました。
わたしのコラムでは、WEBシステム開発のキャリアを積んできた経験をいかして、WEB開発者の観点から業界俯瞰や技術知識の防忘録、エンジニア生活に関して思うこと等、ざっくばらんに情報発信していきます。わたしは現在30歳のまだまだ成長途中の若輩者です。わたしの書く記事を見て、同世代、もしくはもっと若い方々のキャリア形成における何かのきっかけになればと思っております。よろしくお願いいたします。
●SingleSignOnについて
さて、今回のテーマはSSO(SingleSignOn)です。みなさんはこのような経験はありませんでしょうか。“あるサイトにログインしようとすると、YAHOO JAPANのログイン画面が表示され、YAHOO JAPANのID/PASSを入力することでログインした”。リクナビNEXT等がその例にあたるでしょう。
最近では、OpenID(http://openid.net/)とよばれる共通IDによって、複数の企業や個人が運営するサイトのログインを一元化しようとする動きが注目されています。
これらはSSOと呼ばれ、文字通り、一度のログインで複数のサイトの認証を行うことができる仕組みです。
●SingleSignOnの仕組み
それでは、SSOの仕組みはどうなっているのでしょうか。以下に一般的なSSOの仕組みを示します。
① [エンドユーザ(ブラウザ)]から[行きたいサイト]にアクセスする
② [行きたいサイト]のWebサーバは[エンドユーザ]のHTTPリクエストをフックし、[SSO認証サーバ]にリダイレクトする
③ [SSO認証サーバ]は[SSO認証サーバ]が発行するCookieを持っているか確認する
④ [SSO認証サーバ]が発行するCookieが存在しない場合、[SSO認証サーバ]は[エンドユーザ]に対して認証画面を表示する
⑤ [エンドユーザ]は[SSO認証サーバ]に対して認証情報を送信する
⑥ 認証が成功した場合、[SSO認証サーバ]は認証した証であるCookieを発行し、エンドユーザが[行きたいサイト]にリダイレクトする
⑦ エンドユーザが[行きたいサイト]はエンドユーザのリクエストした画面を表示する
このようにCookieを使ってSingleSignOnを利用する技術が一般的です。
●SingleSignOnに関する考察
一昔前のSSOの利用環境というと、事業者が自社サービスのIDを一元化するためにSSO環境を構築するということが一般的でした。複数の製品サイトやWeb上でのサービスを提供しているソニー社が「MySonyID」でIDを統一したことがその一例です。
先述のとおり、OpenIDによる複数事業者のサービスのIDを一元化する動き等、SSOをとりまく環境はオープンになってきています。SSO環境は、事業者を越えて他事業者や個人も含めた形で利用されつつあるのです。その価値というのは、広告モデル主体の現在のWebビジネスと無関係ではないでしょう。より多くのサービスとつながることで、自社サイトの訪問率をあげることができ、広告による収益につながっていくからです。
こういった経緯で、自社サービスの一環という観点から、収益を得るための道具として再注目されつつあるのではないかと思うわけです。
●最後に
今回は、SSOをテーマに初コラムを執筆させていただきました。
「ずいぶん短いな」「誰でも知っている話だ」等思う方も多々いらっしゃると思います。わたしは、未熟な技術者が徐々に成長していく過程を等身大で執筆できればと思っています。
次回も、どうぞよろしくお願いいたします。