PHP OpenID Library を MySQL Store で使う

前回テストした PHP OpenID Library に付属したサンプルプログラムは 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.

About this entry

コメントの投稿

名前 (required)

メール (required)

ウェブサイト