ホーム > ニュース > 開発・運用 > モジュール > OpenIDモジュール ver.0.22

OpenIDモジュール ver.0.22

9
sakimura
投稿者: sakimura | 投稿日時: 2008/3/1 12:27 | 公開日時: 2008/3/1 19:28 | 閲覧: 35906回
タグ: , , , , , , , ,
http%3A%2F%2Fwww.sakimura.org%2F

Xoops 2.0.x JP と XOOPS Cube Legacy 2.1.x に、 最近話題の OpenIDでログインする機能を付けたモジュールです。

OP側は、自前、Linksafe, 2idi, Yahoo!, myopenid, openid.ne.jp, Verisign PIP, Orange.fr, hagena 他 でテストしてあります。

OpenID 2.0 対応。XRI にも OP Identifier にも対応しています。

sregにも対応しています。

ver.0.2 には SQL Injection の可能性のあるバグが発見されました。すぐに、ver.0.22にアップグレードしてください。

OpenID RP Module for Xoops JP ver.0.22

Author: Nat Sakimura (=nat)
Date: 2008-03-01
Copyright: Nat Sakimura (=nat)
License: GPL
Version: 0.22
PHP OpenID Library: php-openid-2.0.0

CHANGES

0.2 → 0.22 SQLインジェクションの可能性があるバグを排除

DOWNLOAD

http://www.sakimura.org/modules/mydownloads/

INSTALL

1. modules/ ディレクトリでアーカイブを展開する。
2. XOOPS_TRUST_PATH をmainfile.phpの中で定義。ここは、Webからアクセスできてはいけない。
3. 上記フォルダの中に、"_php_consumer" フォルダを作り、Webサーバに書き込み権限を与える。
4. 通常のモジュールのようにインストールする。 (Xoopscubeでは、Blockのインストールも忘れずに。)
5. ゲストグループに対して、モジュールのアクセス許可を与える。
6. ブロックを、全てのモジュールに対して設置する。

TODOs

1. Create Admin Panel for easy maintenance of the OpenIDs.
2. Make 5 and 6 above automagic.
3. コードを奇麗にする! 現行のは、ちょー汚いけど、許して
4. Admin 画面のメニューがダミーなので、それを直す。
5. PHP5.2でしか試していないので、4.x でもテストする。
  試して動いたという方は、ご連絡をいただきたく。
6. 管理画面で、sreg のパラメータを選べるようにする。
7. sreg のポリシー対応をする。
8. PAPE対応をする。

コメント(10)

新しいものから | 古いものから | ネスト表示 | RSS feed
Re: OpenIDモジュール ver.0.22 
投稿者: taztaz | 投稿日時: 2008/5/4 18:24
taztaz

インストールがうまく行きません。

本体は「XOOPS Cube Legacy2.1 ホダ塾ディストリビューション」です。 導入のとき言語を「japanese」ではなく、デフォルトのUTF-8にしたせいでしょうか。 phpはver.4.4.6です。

--------- モジュールインストール終了 モジュールインストール ログ

* You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=ujis AUTO_INCREMENT=1' at line 9 * OpenID Auth モジュールのインストールに失敗しました ---------

Re: OpenIDモジュール ver.0.22 
投稿者: kisara_icy | 投稿日時: 2008/5/7 21:59 | 親コメント: #324
kisara_icy

インストールがうまく行きません。

本体は「XOOPS Cube Legacy2.1 ホダ塾ディストリビューション」です。 導入のとき言語を「japanese」ではなく、デフォルトのUTF-8にしたせいでしょうか。 phpはver.4.4.6です。

--------- モジュールインストール終了 モジュールインストール ログ

* You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=ujis AUTO_INCREMENT=1' at line 9 * OpenID Auth モジュールのインストールに失敗しました ---------

MySQLのバージョンが原因な気がします。 いくつをお使いですか?

4〜4.1くらいなら13行目の「DEFAULT CHARSET=ujis」を消せばいけるかもしれません。

Re: OpenIDモジュール ver.0.22 
投稿者: taztaz | 投稿日時: 2008/5/8 1:09 | 親コメント: #325
taztaz

インストールがうまく行きません。

本体は「XOOPS Cube Legacy2.1 ホダ塾ディストリビューション」です。 導入のとき言語を「japanese」ではなく、デフォルトのUTF-8にしたせいでしょうか。 phpはver.4.4.6です。

--------- モジュールインストール終了 モジュールインストール ログ

* You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=ujis AUTO_INCREMENT=1' at line 9 * OpenID Auth モジュールのインストールに失敗しました ---------

MySQLのバージョンが原因な気がします。 いくつをお使いですか?

4〜4.1くらいなら13行目の「DEFAULT CHARSET=ujis」を消せばいけるかもしれません。

回答ありがとうございます。

「OpenID」モジュールを先に配置して、XOOPS CUBE自体のインストールを再度やり直して、言語を「japanese」に変えたらうまく行きました。

Re: OpenIDモジュール ver.0.22 
投稿者: AKAI | 投稿日時: 2008/6/24 16:52 | 親コメント: #326
AKAI
XOOPS 2.0.16a JP と PHP4を利用(レンタルサーバはヘテムル)していますが...
「DEFAULT CHARSET=ujis」を削除しまして、インストールできたのですが、
実際のopenID(Yahoo!JAPAN)でログインしたところ

---------------------------------------------------------------------------------------

Fatal error: Call to a member function on a non-object in /..../html/modules/openid/index.php on line 14
Notice [PHP]: Only variable references should be returned by reference in file modules/openid/occommon.php line 73
Notice [PHP]: Only variable references should be returned by reference in file modules/openid/occommon.php line 82
Warning [PHP]: in_array() [function.in-array]: Wrong datatype for second argument in file modules/openid/library/Auth/Yadis/ParanoidHTTPFetcher.php line 63

---------------------------------------------------------------------------------------

というエラーがでます...これは、サーバ環境の問題でしょうか?
ちなみに「DEFAULT CHARSET=ujis」を削除せずにインストールすると...

---------------------------------------------------------------------------------------

* You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=ujis AUTO_INCREMENT=1' at line 9 * OpenID Auth モジュールのインストールに失敗しました

---------------------------------------------------------------------------------------

と出ます。XOOPSの言語は「japanease」です!
「utf-ja」ではありません。
Re: OpenIDモジュール ver.0.22 
投稿者: sakimura | 投稿日時: 2008/6/25 8:13 | 親コメント: #372
sakimura
Fatal で落ちているのは openid/index.php on line 14 で、これは $xoopsTpl->assign('rptitle', _GR_TITLE); ですから、$xoopsTpl がインスタンシエートされてないみたいなエラーですね。 kisara_icyさんも聞かれていますが、ちなみに mysql のバージョンはいくつですか?
Re: OpenIDモジュール ver.0.22 
投稿者: AKAI | 投稿日時: 2008/6/25 10:35 | 親コメント: #373
AKAI

Fatal で落ちているのは openid/index.php on line 14 で、これは

$xoopsTpl->assign('rptitle', _GR_TITLE);

ですから、$xoopsTpl がインスタンシエートされてないみたいなエラーですね。

kisara_icyさんも聞かれていますが、ちなみに mysql のバージョンはいくつですか?



phpMyAdmin 2.11.2.2には、下記でした。


  • サーバのバージョン: 4.0.25-standard
  • MySQL クライアントのバージョン: 4.0.25
Re: OpenIDモジュール ver.0.22 
投稿者: sakimura | 投稿日時: 2008/6/29 12:25 | 親コメント: #374
sakimura
あらまぁ、ずいぶん古いMySQLですね。

それはそれとして、良く考えてみたら、yahooへのログインシーケンスで index.php が呼ばれることはありません。シーケンスは、

[openidブロック] → [openid/try_auth.php] → [yahoo] → [finish_auth.php] です。

実際にどこまで進んで、どこで落ちているかなど、もう少し詳しく教えていただけませんか?



Fatal で落ちているのは openid/index.php on line 14 で、これは

$xoopsTpl->assign('rptitle', _GR_TITLE);

ですから、$xoopsTpl がインスタンシエートされてないみたいなエラーですね。

kisara_icyさんも聞かれていますが、ちなみに mysql のバージョンはいくつですか?



phpMyAdmin 2.11.2.2には、下記でした。


  • サーバのバージョン: 4.0.25-standard
  • MySQL クライアントのバージョン: 4.0.25

Re: OpenIDモジュール ver.0.22 
投稿者: mjolnir | 投稿日時: 2008/9/7 19:44 | 親コメント: #379
mjolnir
使わせていただいております。便乗しますが…
yahoo.co.jpで一回だけログインできました。
mixi.jpではbadです。

Coreserver(Xrea系)
Apache
PHP 5.2.5
MySQL 5.1.22-rc
XOOPS Cube Legacy 2.1.5

/modules/openid/try_auth.php?action=verify&openid_identifier=XXXXX

でアクセスしているのですが、

Fatal error: Call to a member function assign() on a non-object in /modules/openid/index.php on line 14
Notice [PHP]: Only variable references should be returned by reference in file modules/openid/occommon.php line 73
Notice [PHP]: Only variable references should be returned by reference in file modules/openid/occommon.php line 82
Notice [PHP]: Undefined variable: xoopsTpl in file modules/openid/index.php line 14

というエラーになっております。
何故$xoopsTplが消えるんでしょうか…

追加:CGIモードでは、
*** glibc detected *** malloc(): memory corruption: 0x087f4ef8 ***
が出ています。
Re: OpenIDモジュール ver.0.22 
投稿者: kisara_icy | 投稿日時: 2008/9/12 23:44 | 親コメント: #433
kisara_icy
mjolnir さん、こんにちわ。

index.phpでエラーが出る件はちょっと分かりません…申し訳ない。

あと、XREA、CoreServerはサーバの設定かなにかに不具合があり、
PHPのDOMDocumentが落ちる現象でまともに動かないはずです。
CGIモードのそのエラーはそれが原因らしいです。

しかし、以下のパッチでなんとかなるようです。
XML.phpを差し替えてみてください。

http://blog.oovch.net/article/96574155.html


というか、fugaさんのメンテしてる改良版を使った方が良いかも。

http://xoops.hypweb.net/modules/xpwiki/401.html

上記パッチもあたってますし、いろいろと改良されています。

私の外部認証モジュールのOpenIDプラグインを使うという手もあります。
こっちは上記パッチはあててませんので、XML.phpは差し替えてください。

http://xoopsdemo.yoteihyo.com/
Re: OpenIDモジュール ver.0.22 
投稿者: mjolnir | 投稿日時: 2008/9/27 11:45 | 親コメント: #437
mjolnir
返信ありがとうございます。

後続モジュールの存在を知りませんでした…
とりあえず、トライしてみます。

    トラックバック(0)

    新しいものから | 古いものから | RSS feed

    投票(9)

    新しいものから | 古いものから | RSS feed
     
      To Top