モジュールでOpenIDを簡単に実現!
シングルサインオンとOpenID
オンラインバンキング、ネットオークション、ブログなど、現在では多くのサービスがWebアプリケーションで提供されています。個人を認証するには、各Webサイトで発行された、ユーザーIDとパスワードを使用するのが一般的です。当然、使用するWebサイトが異なれば、ユーザーIDとパスワードも異なり、管理が煩雑になります。またそれぞれのWebサイトにアクセスする度に、毎回ユーザー認証を行う必要があるなど、操作に不便と不満を感じる人は少なくありません。
それを受け、認証システムを一元化するなど、以前から認証手続きを簡素化するための試みは行われており、その成果はSSO(Single Sign-On:シングルサインオン)などの技術に還元されています。
SSOを利用すればユーザー認証を一度行うだけだけで、許可されているすべてのサービスを利用できるようになります。現在SSOを実現する規格やサービスは、ベンダー依存のものからオープンなものまで、さまざまなものが有償または無償で提供されています。Webシステムとの相性がよく、オープンな標準規格で、日本国内においても普及の兆しを見せているものに「OpenID」があります。
OpenIDはユーザーの識別にURLを使った認証システムです。ドメインや事業主体が異なるWebサイトにおいてもシングルサインオンを可能にします。「○○サイトでOpenIDに対応」などの見出しを、技術系Webサイトのトピックに見かることも、ここ数ヶ月で多くなっています。国内に限っても、OpenID URLの発行を実施しているWebサイトをいくつか見つけることができます。OpenID URLの発行を実施している主なWebサイトは以下の通りです。
・Yahoo! Japan(http://openid.yahoo.co.jp/)
・OpenID.ne.jp(http://www.openid.ne.jp/)
・はてなでOpenID(http://www.hatena.ne.jp/info/openid)
・livedoor Auth(http://auth.livedoor.com/openid/)
・mixi OpenID(http://mixi.jp/openid.pl)
OpenID URLの登録と利用
ここで実際にOpenID URLを取得し、OpenID対応サービスサイトにログインしてみましょう。今回はOpenID URLの払い出しに「OpenID.ne.jp(http://www.openid.ne.jp/)」を利用します。
Webサイト中央の「OpenID アカウント作成」をクリックし、登録画面に移動します。ユーザーID、パスワード、Security Codeを入力し、約款の内容を確認し、同意できる場合はチェックボックスにチェックし「会員登録完了」をクリックします。
登録が完了すると、OpenIDにログインした状態でOpenIDのトップページが表示されます。登録したOpenID URLは、ヘッダー部分に表示されています。このOpenID URLで、さまざまなサービスサイトへのシングルサインオンが可能になります。
次にサービスサイトにログインします。ここでは@niftyの「アバウトミー(https://aboutme.jp/account/login)」へのログインを試します。ログイン画面右中央の「OpenIDでログイン」に、先ほどOpenID.ne.jpで払い出されたOpenID URLを入力し、ログインをクリックします。
すると突如OpenID.ne.jpの確認画面が表示され、アバウトミーの認証要求に応えるかどうかの確認が行われます(OpenID.ne.jpへのログインが完了していない場合には、確認の前にログイン画面が表示されます)。認証要求に応じることで、アバウトミーへのログインに成功し、会員サービスを受けることができるようになります。
次はこのような認証を実現するOpenIDの仕組みを解説しましょう。