OpenIDを試してみる

mixiが対応して一気に広がりそうな予感がしたので、ライブラリ入れて認証テストしてみた。
ちなみに使ったのはここのライブラリ。
http://www.openidenabled.com/php-openid/

ライブラリそのままで、入口部分のPHPを変えるだけで、
Yahooはうまく出来たんだけど、mixiが上手くいかない。。。

ライブラリの中で値が取れてないっぽいとこまでは追えたんだけど、
いかんせんOpenIDの仕様をばっちり押さえてるわけじゃないんで、
その先がわからん。。。

追記

トレースしていったらAuth_Yadis_ParanoidHTTPFetcherクラスのgetメソッド内でCURLを使ってるところがあるんだけど、
mixi.jpにリクエストかけるとステータスが0で返ってくる。
CURL絡みなのかな〜
デモページじゃちゃんと認証ページに飛べてるし。

追記

原因わかったぽい。
mixiの認証先が入ってるURLがHTTPSだからか。。。

んで証明書がないからCURLでリクエストしても弾かれるというオチね。。。
参考:http://www.hcn.zaq.ne.jp/___/unix/curl_manpage.html

さくらインターネットって証明書の追加出来たっけ。

追記

証明書の追加がわからないので、チェックをオフしてみた。
Auth_Yadis_ParanoidHTTPFetcherクラスのgetメソッド内で、
curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, FALSE);

の二行追加。
これでmixiの認証ページに飛べる。

参考:http://harukat.hp.infoseek.co.jp/article/curl_document_https_jp.html