PHP OpenID Library

ダウンロードとアップロード

まず最初に、PHP OpenID Library をダウンロードして、付属のサンプルプログラムの動作を確認します。展開したファイルやフォルダの内、Auth フォルダと examples フォルダのみをアップロードします。

PHP OpenID Library ファイル保存フォルダのエラー

ブラウザから examples/consumer/index.php にアクセスし、Identity URL を入力した上、[Verify] ボタンをクリックします。
すると、次のエラーが表示されます。

Could not create the FileStore directory '/tmp/_php_consumer_test'. Please check the effective permissions.

そこで、アクセス権のあるフォルダを適切なところに作成して、consumer フォルダにある common.php の次の行のパスを作成したフォルダのパスに変更します。

変更前 : $store_path = "/tmp/_php_consumer_test";
変更後 : $store_path = "(作成したフォルダのパス)";

PHP OpenID Library 乱数発生のエラー

もう一度、ブラウザから examples/consumer/index.php にアクセスし、Identity URL を入力した上、[Verify] ボタンをクリックします。
すると、今度は次のエラーが表示されます。

Define Auth_OpenID_RAND_SOURCE as null to continue with an insecure random number generator.

乱数の発生で失敗しているので、CryptUtil.php の次の行を変更します。

変更前 : define('Auth_OpenID_RAND_SOURCE', '/dev/urandom');
変更後 : define('Auth_OpenID_RAND_SOURCE', NULL);

PHP OpenID Library のテスト成功

さらにもう一度、ブラウザから examples/consumer/index.php にアクセスし、Identity URL を入力した上、[Verify] ボタンをクリックします。
すると、次の成功の旨のメッセージが表示されます。

You have successfully verified (Identity URL) as your identity.

次のエラーが出る場合は、先ほど作成したフォルダの中の temp フォルダ内のファイルを削除します。

OpenID authentication failed: Server denied check_authentication.

MySQL Store で使う

OpenID の処理に必要な情報の保存にファイルではなく MySQL などのデータベースを利用することもできます。なお、データベースの接続などに PEAR::DB ライブラリが必要です。

PHP OpenID Library に付属したサンプルプログラムを、ファイルから MySQL を利用するように変更してみます。

読み込むライブラリを変更する

まず、ファイルを利用するライブラリではなくデータベースを利用するファイルを読み込むように次の行を変更します。

変更前 : require_once "Auth/OpenID/FileStore.php";
変更後 : require_once "Auth/OpenID/MySQLStore.php";

データベースに接続する

getStore 関数で MySQL に接続をして、戻り値を Auth_OpenID_FileStore から Auth_OpenID_MySQLStore に変更します。
変更後の getStore 関数は次の通りです。

function &getStore() {
	$connect = DB::connect("mysql://(user):(password)@localhost/(dbname)");
	return new Auth_OpenID_MySQLStore($connect);
}

PHP OpenID Library のテスト成功

ブラウザから examples/consumer/index.php にアクセスし、Identity URL を入力した上、[Verify] ボタンをクリックします。
次のメッセージが表示されれば成功です。

You have successfully verified (Identity URL) as your identity.

作成者: コネタねこ

上から読んでも『コネタねこ』、下から読んでも『コネタねこ』。贈り物に悩んだら、コネタねこの小ネタ帳。欲しくなっちゃうプレゼント、そんなアイデアのぞきにきてね♪

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です