OpenIDとは、ユーザー認証をすでにユーザー登録しているサイトのログイン機構を利用して、他のサイトにログインできるようにする仕組みである。簡単な処理フローは以下の通り。
OpenIDには非常に便利なライブラリが準備されている。以下はそれらのライブラリについての説明となる。
現在、OpenIDの標準的なライブラリともいえる、このライブラリは、PHP, Python, Rubyの3種類のスクリプトに対応しており、一番使いやすいといえる。
ここでは、PHPによるOpenID利用の設定を考える。
# wget http://openidenabled.com/files/php-openid/packages/php-openid-2.1.3.tar.bz2 # bzip2 -d php-openid-2.1.3.tar.bz2 # tar xvf php-openid-2.1.3.tar
出来上がったフォルダから、必要なプログラムを自分のサイトにコピーする。基本的にはAuth フォルダ以下のものをコピーすれば必要なものは存在する。とりあえずは、webサーバーのドキュメントフォルダの直下においておくと良いだろう。(後のテストで便利)
PHPのコンフィグ設定時に、./configureに--with-opensslとして、opensslを利用できるように設定する必要がある。
# ./configure ............... --with-openssl <- 他のオプションはそれぞれに。
またsslを同梱したPHPを作成後は、httpdの再起動も忘れないようにする。
# service httpd restart
# cat mixi.jp.crt >> /usr/share/ssl/certs/ca-bundle.crt
ダウンロードした、OpenIDライブラリの中には テストできるプログラムがおいてある。
http://localhost/php-openid-2.1.3/examples/consumer/
このページに、yahooなら、「yahoo.co.jp」。mixiなら、「mixi.jp」と入力することで早速OpenIDの動作が確認できる。