mixi OpenID認証に対応

2010/05/28

HTML版において、mixi OpenIDの機能を追加しました。

PHP OpenID Libraryを利用して、OpenIDの認証を実現します。 このライブラリはOpenID認証の面倒な処理を引き受けてくれます。

ここのサンプルを元に、プログラムを作成しました。

大きな流れとしては、 (1) 自分のサーバからOpenIDサービスのサーバに接続 ※この際、認証後のURLを指定 (2) OpenIDサーバの認証URLにリダイレクトされる (3) ユーザが認証する (4) 自分の指定したURLに、パラメータつき(GET)でリダイレクトされる

また、内部的にはサーバのstore_path(個別設定)にセッションデータが保持されています。

OpenIDサーバから返されるパラメーター(GET)は以下の通り。

janrain_nonce openid_mode openid_identity openid_op_endpoint openid_return_to openid_response_nonce openid_assoc_handle openid_ns_sreg openid_sreg_nickname openid_ns openid_signed openid_sig openid_claimed_id

あとは、自サーバでセッション管理で処理します。 mixiの「イイネ!」みたいな、「yoo!yoo!」って機能つけてみましたw

ログアウト後に、もう一度mixi OpenID認証すると「データがありません」となるのだけど、 まだ対処しきれてません。 憶測では、自サーバでログアウト時に、サーバのstore_pathのセッションを切ってやればいいと思いますが。

これ読んだmixiユーザの人、mixiでOpenID認証後に↓の【yoo!yoo!】をクリックしてみてください。