Tweet
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
- Newer: XamppでPHP OpenID LibraryのOPのexample(Server)を動かしてみる
- Older: JavaScriptのinstanceofをisArrayに使っていいの?
Home > > XamppにPHP OpenID Library入れてopenid.ne.jpのIDで認証する
Tweet
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
Home > > XamppにPHP OpenID Library入れてopenid.ne.jpのIDで認証する
Home > OpenID > XamppにPHP OpenID Library入れてopenid.ne.jpのIDで認証する
Tweet
ところまでやりました。
というわけで、唐突にOpenIDのお勉強をしています。
いろいろ用語がややこしくてイマイチ理解できてません。
とりあえず、いじってりゃそのうちわかるだろ、ってことで手を動かしてみます。
使ったのは、ご存知xampp(win)とPHP OpenID Libraryです。
DLからHello,OpenIDまでのメモ。
なお今回は、RPのみです。(OpenIDを利用する側)
OP(OpenID発行側)は次回の予定です。
※ 僕はConsumerとProviderっていう用語を主に使ってます。(わかりやすいので)
xampp(win)はインストール済みってことにします。
僕の使ったのは1.6.6aでした。
※ vistaを使っている人はProgram Filesにインストールしないように気をつけてください。(C直下とかにしましょう)
設定ファイルとかがすぐ戻っちゃったりして面倒なので^^;(たしか)
次に(or 最初に)PHP OpenID Libraryからver2.0をダウンロードしてきて、xampp/htdocsにコピーします。
ディレクトリ名はopenidにでもしておきましょう。
(URL入れるたびにphp-openid-2.1.2とか打つのはしんどいので)
インストールは以上です。
怪しいとか、怪しいとかいろいろ言われてますが、
所詮テストなのでOpenID.ne.jpで取りました。(捨てアカウントにはむしろちょうどいいでしょう)
メールアドレスだけでOKでした。
ユーザ名.openid.ne.jpがIdentifierです。
http://localhost/openid/examples/consumer/にアクセスして、
Identifierを入力して、Verifyをクリックします。
(PAPEがどうのこうのは無視で。なんかOP側のセキュリティ対策がちゃんとしてることを要求する時に使うみたいです ※)
※ OpenIDに欠けている「評判情報」 - @IT
はい、無事ログインできましたね。
・・・で終わればよかったんだけど、そうはいきませんでした。
Warning: mkdir() [function.mkdir]: No such file or directory in C:\xampp\htdocs\openid\examples\consumer\common.php on line 57 Could not create the FileStore directory '/tmp/_php_consumer_test'. Please check the effective permissions.
なんていうエラーが。
全然OpenIDとは関係ない記事ですが、XAMPPにSmartyをインストールして、HelloWorldを出力させるまで(PHP) | Web&MUSICブログ QUALLを参考に、
C:\xampp\htdocs\openid\examples\consumer\common.phpの53行目あたりを、
// $store_path = "/tmp/_php_consumer_test";
$store_path = "/xampp/tmp/_php_consumer_test";
に直しました。
xamppって絶対パスに弱いんですよね^^
(windows上だからしかたないと思うけど)
よし、これでOKと思いきや、次は、
Fatal error: Define Auth_OpenID_RAND_SOURCE as null to continue with an insecure random number generator. in C:\xampp\htdocs\openid\Auth\OpenID\CryptUtil.php on line 53
とか言われてる…。
これはずばり解決策がすぐ見つかった(PHP OpenID Library を使ってみた - F.Ko-Jiの「一秒後は未来」)ので、
C:\xampp\htdocs\openid\Auth\OpenID\CryptUtil.phpの23行目付近を、
// define('Auth_OpenID_RAND_SOURCE', '/dev/urandom');
define('Auth_OpenID_RAND_SOURCE', NULL);
にすれば、OK。
わりとつまづきましたが、これでOpenIDで認証できるようになりました。
結果↓
openidでログイン!
認証を許可。
成功!!
以上、ただexampleを動かしただけでした。
いろいろ酷評されがちのPHPですが、新しいことをサクッと試してみたい時にはかなり便利ですよねー。
(詳しく知らなくてもとりあえず動くので^^)
OP(Provider)編もこうご期待!?
Home > OpenID > XamppにPHP OpenID Library入れてopenid.ne.jpのIDで認証する