PHPでOpenID認証してみた
っていっても、PHP用のOpenIDライブラリをとってきて、サーバーにおいてサンプルページで動作を確認しただけ。
からライブラリをダウンロード
- サーバーにアップロード
- livedoorにて自分のOpenIDを発行
- http://serverurl/openid/examples/consumer/ でlivedoorさんからもらったOpenID認証用のURLで認証
- livedoorのログイン画面でログインして、このOpenID認証は許可していいですかー?みたいな画面になるので、「許可する」を選ぶ。
- 認証完了!
後は認証成功という情報をセッションなどに保持して、ログイン状態を保つ。
そんな感じかもー!
友人がOpenIDが使えん!困ったちゃん!と言っていたので検証しました。
localhostのサーバーからだとうまくいかなかったので、原因はおそらくそのせいかと。
正直理由はよくわかってないけど、おそらくlivedoorさんからの「認証OKですよー」のコールバックがNATやファイアウォールで受け取れず、「Authentication error」になっているのではないかと。というか普通に考えて原因はそれか。
自宅のPCをインターネットからのアクセスOKにして試してみたいです。
いろんなWebサービスを使っていると、扱いが煩雑になりがちなユーザー名とパスワード。OpenIDを使ってそれを一元管理しシングルサインオンができるといいですね!
ただ、認証を第三者にやらせる、なんとなく不安です。が、まぁそこは信頼のある認証サーバーを使えばいいのでだろう。SSLでつないでしまえば多分、もう安心だろー。