examples/consumer/try_auth.php
のコードにはなかったAXでやってみる。GoogleはAttribute eXchangeでgmailが得られるらしいので。
ちなみに、JanRainは、define('Auth_OpenID_VERSION', '2.1.2'); です。
try_auth.php
23行目らへんから
<?php $auth_request = $consumer->begin($openid); + require_once "Auth/OpenID/AX.php"; + $ax_request = new Auth_OpenID_AX_FetchRequest(); + $ax_request->add(Auth_OpenID_AX_AttrInfo::make( + 'http://axschema.org/contact/email', + 1, + true, + 'email' + )); + $auth_request->addExtension($ax_request);
って感じ。
finish_auth.php
59行目らへんから(SUCCESSが確認できた26行目以降ならいいんだけど)
<?php + $ax_resp = Auth_OpenID_AX_FetchResponse::fromSuccessResponse($response); + var_dump($ax_resp->getExtensionArgs()); + echo $ax_resp->get('http://axschema.org/contact/email') ; $pape_resp = Auth_OpenID_PAPE_Response::fromSuccessResponse($response);
って感じ。配列でvar_dumpされる。
aliasを設定したけど、どうやって取り出すかよくわからん。ww
参考にしたページ:
http://blog.poqu.org/2008/11/12/rails-google-openid/