Opera-ismがOpenIDに対応。

フォーラム作ったよ!の続き。
xoopsで作ろうとしたけど、管理画面が分かりづらかったのでphpBBにしました。
んでもって、あんまり積極的じゃなかったOpenIDを導入しました。はてなやlivedoorのアカウントで認証できます、たぶん。
mixi OpenIDは動かないと思いますよ。ちょっと工夫しないとなぁ。

phpBBにOpenIDをインストールする。(xrea用)

何度泣いたことか。もう二度と間違えないように書いておく。なお、インストール方法は同梱のinstall.txtに書かれているので、ここではxreaで動かすための方法だけを書いている。

  • PHPBB OpenIDからSimple OpenID MODをダウンロードする。
  • rootフォルダに入っているファイルをphpBBのインストールディレクトリへコピーする。
  • includes/openid/Auth/OpenID/CryptUtil.phpを開いて、
define('Auth_OpenID_RAND_SOURCE', '/dev/urandom');

if ( @is_readable('/dev/urandom') ) {
define('Auth_OpenID_RAND_SOURCE', '/dev/urandom');
} else {
define('Auth_OpenID_RAND_SOURCE', false);
}

に置き換える。

$store_path = "/tmp/_php_consumer_test";

を何かに換える。なお、tmp/_php_consumer_testってしないと認識しない。この場合phpBBのインストールディレクトリにtmpフォルダが出来るよ!

  • ここから重要。この作業中に「OpenIDでログインしちゃおう」とか思わないことやらないこと。
    • 以下はtmp/_php_consumer_testでやったものとします。
  • tmp/_php_consumer_testを自分で作る。
  • _php_consumer_test下にassociations, nonces, temp の3つのフォルダを自分で作る
  • 完了。


なぜ、ディレクトリを自作しないといけないかって言うと、

  1. セーフモードのせいで_php_consumer_testを作れないから。
  2. associations, nonces, tempOpenIDでログインする際に自動的に生成されるがオーナーがapacheとなってしまい、結局「_mktemp didn't return a valid file descriptor」となってそれ以上先に進めなくなるから。
    • しかも削除できなくなっちゃって、更に泣くことになる。