Yahoo OpenID Attribute Exchange をPHPで利用してみる!
まずは↓この通りにopenidを使ってみてください。
http://techblog.yahoo.co.jp/web/openid/10yahooopenid_rp/
↓次に、こちらPHPじゃないですが、画面遷移は同じです!
Yahoo OpenID AX Attribute Exchange!
http://techblog.yahoo.co.jp/web/openid/openid_axyahoo/
でphpは何を変えるかというと
try_auth.php(リクエスト用を修正です!)
require_once "Auth/OpenID/AX.php";
でAXも利用可能に。
さらに function run()内の
$auth_request = $consumer->begin($openid);
の下あたりに AXを追加!
画像とfriendlyをnicknameとしてとってみる。
$ax_request = new Auth_OpenID_AX_FetchRequest(); $ax_request->add( Auth_OpenID_AX_AttrInfo::make('http://axschema.org/media/image/default', 1,true,'image')); $ax_request->add( Auth_OpenID_AX_AttrInfo::make('http://axschema.org/namePerson/friendly' ,1,true,'nickname'));
で早速Yahooへログイン!同じく try_auth.phpからYahooへリダイレクトされる
finish_auth.phpへ返されるパラメータに
["openid_ax_value_image"]=> string(54) "https://s.yimg.jp/images/login/openid/img/01/pic90.gif" ["openid_ax_value_nickname"]=> string(12) "ヤフーのID"
の2つが入ってきます。
だいたい問題ないので、次はphpのセッションを少し修正してサービスへ導入します。