NP_cles()

12345678910111213141516171819202122232425262728293031

NP_OpenIDをXREA/CORESERVERで使う場合の注意

 
投稿者:hsur 投稿日時:2008-09-03 - 01:36
カテゴリー:Programming - - トラックバック(default)- Views: 564

何件か動作確認報告画面からNP_OpenId関連の質問が飛んできているので参考までに記載しておきます。
XREAやCORESERVERでNP_OpenIdを使おうとするとlibxmlのバグにより認証ができない(画面が真っ白になる)という症状になることがあります。

Geez in the universe: XREA / CORESERVER で OpenID を使うと Yahoo や livedoor が使えない問題

XREA に PHP で OpenID を使用した認証システムを導入したいと思った。 しかし、OpenID Enabled にある JanRain のライブラリを使うとYahoo ID でログインしようとした時に画面が真っ白になってしまう問題に直面した。今時 OpenID 対応サービスを始めるなら間違いなく Yahoo ID は外せない存在になると思うので応急処置を施してみた。

原因はどうも XML に関連した処理の途中(libxml)でエラーを起こしていることらしく、ググるだけで問題箇所を特定できたためそれを回避するコードを書いた。

応急的な処置ですが、上記のページの対象法に従ってsharedlibsディレクトリ内にある、XML.phpの中身を下記で公開されているXML_php_modified.phpsの中身に書き換えることによりNP_OpenIdが使えるようになる可能性があります。不具合に心あたりがある場合には試してみることをお勧めします。

Auth_OpenID_RAND_SOURCEに関するエラーが出る場合には

また、環境によっては下記のようなエラーが発生する場合があります。

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

その場合にはNP_OpenId.phpの先頭に下記のコードを挿入してください。

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

    このエントリは役に立ちましたか?

      

    トラックバックについて [policy]

    Trackback URL:
    Trackbacks
    NP_OpenIDをXREAで使おうとしてもそのままでは動きません。 原因の2つあります。 サーバがセーフモードで動作していることが、NP_OpenIDの仕様としてPOST/GETの両メソッドでパラメータの取得を妨害しており...
    206RC.org (2009/03/29 12:12)

    Comments [policy]

    No comments yet

    Add Comments

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

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

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