BLOGTIMES
2008/07/13

続・JanRain PHP OpenIDではまった所

  php  openid 
このエントリーをはてなブックマークに追加

fjskさんからうまく動かないという話をもらったので調べてみたのですが、CryptUtil.phpが乱数を/dev/urandomから取得しているので、サーバー環境がWindowsだったり、open_basedirなどによって読み取りが制限されていると、下記のようなエラーが発生して実行が停止します。

Fatal error: Define Auth_OpenID_RAND_SOURCE as null to continue with an insecure random number generator. in /path/to/sharedlibs/Auth/OpenID/CryptUtil.php on line 52

このあたりの仕様は不便ですが、セキュリティにかかわることなので自動的にfallbackしないようになってるみたいです。fallbackさせるにはAuth_OpenID_RAND_SOURCEをnullで定義してあげればよいみたいです。

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

こんな感じで対応してみることにしました。

それ以外のはまりどころ

curl関連やStore関連でいくつか注意点があります。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/2646
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン