LOGIN ID Password Auto Login Register Now! Lost Password?
Xoops Q&A

OpenIDを導入するにはどのモジュールが最適ですか?

  • ログインせずに、この質問カテゴリに投稿できません
  • Xoops Q&A ではゲスト投稿が禁止されています。登録はこちらからどうぞ
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 | 投稿日時 2009-2-12 11:20
wackey  2nd Class 登録日: 2007-8-10   投稿数: 16
突然の愚問ですみません。
XOOPSを再開してリハビリ中なのですが、OpenID認証関連のモジュールがいくつか出回っていると思います。

これらのうち、どれが将来性・機能性を考えて良い作りなのかを知りたいのですが、今までに導入された方の意見・感想や開発者の声を聞きたいです。

ちなみに私はホダ塾ディストリニュージョンのHD1.0.3を使用しています。
やりたいことは「YAHOO!IDでログイン」とか「mixiIDでログイン」といったボタンを設置してユーザーにわかりやすくOpenIDを使ってもらうことです。

▽XOOPS Cube日本サイト版
http://xoopscube.jp/news/341
→これはリリースされてないようでまだ試してないのですが「mixiIDでログイン」ボタンもあり、イメージに近いです。しかし、今までのXOOPSとまったく違うインタフェース(ユーザーモジュールか何かが大きく変わってる?)なので、リリースされても利用するのに慎重になっています。

▽OpenIDプラグイン
http://www.kisara-s.com/modules/d3downloads/index.php?page=singlefile&cid...
外部認証モジュールのOpenIDプラグインを試してみました。これで動作することは確認したのですが、やっぱり「mixiIDでログイン」みたいなボタンが欲しいと思っています。

▽OpenIDログイン
http://www.sakimura.org/modules/openid/
ここのモジュールをだいぶ前に一度試したのですが、私の環境では動かなかったことと「mixiIDでログイン」みたいなボタンが欲しいということで導入まで考えていません。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 | 投稿日時 2009-2-12 22:10 | 最終変更
nao-pon  Chief Officer 登録日: 2006-9-29   投稿数: 110
wackey さん、こんにちは。

Sakimura さんの OpenID認可モジュールをベースに、fuga さんが中心になって、開発されている OpenID モジュールがあります。

とりあえず、私が簡単にまとめたページが以下にあります。

keyword/OpenID モジュール [OpenID 認証 モジュール (おーぷんあいでぃ にんしょう もじゅーる)] - xpWiki::Dev - XOOPSマニア

テンプレートの修正で、「mixiでログイン」とか「Yahoo!でログイン」とかも可能です。(私のサイトのログインブロックがそれです。)

ご参考まで。
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2009-2-13 5:41
GIJOE  Admiral 登録日: 2006-3-20   投稿数: 3708
「OpenIDなら、そりゃnao-ponさんが開発に参加しているモジュールに決まりだろう。明朝にでもレスしよう」
…とか思っていたら、ご本人が降臨されてました

実は今はじめて試したのですが、HD-1.0.3への導入でまったく問題なく動きました。
素晴らしいですね、これ。
ちゃんと既存IDと複数のOpenIDとを結びつけることができます。

私はJogNoteというジョギングSNSにも参加しているのですが、そこはYahoo!IDで作ってしまったアカウントは、もはや通常のログインはできず、他のOpenID経由の認可ができないので、そういうものなのかと誤った認識をしてました。

やはり生パスワードがあちこちのネットワークやサーバに飛ばないのはありがたいなあ、なんて思います。

# XUGJにもHDにも入れたいですね。

## ROOT/下にロジックを置くタイプのモジュールなので、もう少しPathDisclosure対策くらいはしてもいいかな、と思いました。(直アクセスを想定していないフォルダにDENYの.htaccess置くとか)
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009-2-13 9:47 | 最終変更
wackey  2nd Class 登録日: 2007-8-10   投稿数: 16
nao-pon さん
ドキュメント拝見させていただきました。
また、望んでいるモジュールだと感じました!ありがとうございます。
早速導入して試してみたいと思います。
ありがたく活用させていただきます!
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009-2-13 9:53
wackey  2nd Class 登録日: 2007-8-10   投稿数: 16
GIJOE さん
動作確認もしていただき、ありがとうございます。

たしかに既存のIDとOpenIDと結びつけることと、登録したOpenIDでしかログインできなくなる、では利便性が大きく違います。
やはり使いやすさという視点は大切だと思うので、このモジュールを有り難く使わせていただくと同時に機会があればHD版にも入れていただけるとXOOPSもまた「OpenID対応」というキーワードで盛り上がるのでは、と思います。

早朝のご返信ありがとうございました。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009-2-13 15:31
nao-pon  Chief Officer 登録日: 2006-9-29   投稿数: 110
GIJOE さん、こんにちは。

テストまでして頂き、恐縮です。
HD-1.0.3 では、試していなかったので、動作確認がとれて安心しました。(fuga さんは、試してるかもしれないけど。)

HD や PathDisclosure 対策 の件など、開発ディスカッションで話してみますね。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009-2-13 15:35
nao-pon  Chief Officer 登録日: 2006-9-29   投稿数: 110
wackey さん、試用導入ありがとうございます。

なんか上手くいかないとか、分からないことがあったら、お気軽に、OpenID を語ろう へお越しください。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009-2-13 18:32
wackey  2nd Class 登録日: 2007-8-10   投稿数: 16
nao-pon さん、早速入れてみました。
既存のIDでもYAHOO!IDでもログインできることを確認しました。イメージした通りのモジュールでとても素晴らしいです。

ちょっとしばらくいじってみて、また質問やフィードバックさせていただきたいと思います。
本当にありがとうございます!
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009-2-14 14:38 | 最終変更
kisara  2nd Class 登録日: 2008-3-15   投稿数: 10
おっとり刀で来てみましたが、すでに解決してしまってるようですね。

一応、外部認証モジュールのOpenIDプラグインでもYahoo!でログインなどの対応は可能です。

こちらを参考にしてみてください。

http://www.kisara-s.com/modules/xpwiki/?XOOPS%2FExAuth%2FFAQ#content_1_7

動作はこちらでご確認できます。

http://xoopsdemo.yoteihyo.com/

おそらく、OpenIDの仕様としてOpenID 2.0に対応したものであればどんなものでも「~でログイン」のようなボタンを使うことが可能です。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009-2-14 15:49
wackey  2nd Class 登録日: 2007-8-10   投稿数: 16
kisara さん>
返信ありがとうございます!

実は最初に書いたようにkisaraさんの外部認証モジュール&OpenIDプラグインで最初は導入実験していました。
私が借りているサーバーで動くことを確認し、mixi認証も最初は通らなかったのですが、その問題解決もできて、採用したいと思っていたのですが、ボタンリンクを見てから、考えが変わってしまってました。

それからXOOPS Cubeからしばらく離れていて最近XOOPS Cubeに復活してみようと公式サイトみたら、OpenID認証導入していたので、ちょっと混乱してました。
でも、ボタン設置の情報も教えていただき、ありがとうございます。

同じように実験をローカル環境で構築してやってみたいと思います。ありがとうございます。
投票数:1 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009-2-14 18:06
sakimura  2nd Class 登録日: 2008-2-9   投稿数: 16
sakimura です。

なんか、去年の2月あたりから OpenID まわりで異常に忙しくなってしまってほったらかしにしていたのが、コミッティまで作っていただいて開発が進んでいるのはとても嬉しいです。乱数ライブラリの指定もPEMのパスも指定できるようになっているのは、すばらしいですね!私も早速自分のサイトをこれに入れ替えました!
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 | 投稿日時 2009-2-15 0:43 | 最終変更
lumbago  1st Class 登録日: 2006-4-13   投稿数: 34
 横レスですみません(違う話になっているので新しくスレ立てた方がよかったですね……)。
 現状、素の状態でOpenIDモジュールを使いmixiで認証させようとすると、“Authentication error; not a valid OpenID. ”というエラーが表示されると思うんですが、その解決方法が以下のサイトに掲載されています。

 mixi OpenIDのサンプルコードをPHP OpenID Libraryを使って動かしてみた(訂正) - 大阪 本町で働くITなエンジニア ダイアリー

 mixiの証明書をサーバに入れておき、ParanoidHTTPFetcher.phpで読ませるということのようです。確かにここに書かれている通りの方法で解決しました。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009-2-15 2:06
wackey  2nd Class 登録日: 2007-8-10   投稿数: 16
lumbago さん、ありがとうございます

こういう情報大切ですね。
わたしもきさらさんの外部認証でmixi認証までチャレンジしてみた記録を残しています。
参考になるかもしれないので、ブログURLを残しておきます。

▽Coreserver用外部認証モジュール&OpenIDプラグイン
http://musilog.net/webdesign/xoops-cube/coreserveropenid.php
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009-2-15 3:00
sakimura  2nd Class 登録日: 2008-2-9   投稿数: 16
あ〜〜〜〜。元記事に

引用:
if ($this->isHTTPS($url)) {
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, 0);
}
を追加というところがありますが、これはやっちゃダメです。

mixi の OpenIDコミュにも書いておいたんですがね。(mixiのおやまさんもフォローしてます。)
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009-2-15 11:18
kisara  2nd Class 登録日: 2008-3-15   投稿数: 10
この元記事ではブラウザから証明書を保存していますが、cURLのサイトでMozillaの証明書を取得するスクリプトがあるのでその方が楽かもしれません。

http://curl.haxx.se/docs/caextract.html

最初、ここにある証明書をダウンロードして使うだけで良いと思っていたのですが、すでにちょっと古くなってるので注意してください。
LinkSafeではもう使えないかもしれません。
ここから入手できるPerlスクリプトのmk-ca-bundle.plを実行して最新版を各自作成するのが正しい方法みたいです。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2009-2-15 11:32 | 最終変更
lumbago  1st Class 登録日: 2006-4-13   投稿数: 34
 sakimuraさん、こんにちは。
 mixiのOpenIDコミュとmixi Developer CenterのFAQを見ました。これはよろしくないみたいですね~。

 現状、
curl_setopt ($c, CURLOPT_SSL_VERIFYPEER, true); curl_setopt ($c, CURLOPT_CAINFO, 'サポートしたいサービス用の追加のPEMファイルのパス'); 
 で行くと、「mixi OpenID利用同意」まで進み、同意をクリックすると、
OpenID authentication failed: No OpenID information found at https://id.mixi.jp/******
 とエラーが出るという感じです。mixiのコミュに書かれてある問題と同じ流れですかね。*/


 午後の紅茶飲みながら考えていたらわかりました。
 https://mixi.jp/ へ行った後、https://id.mixi.jp/ へ行くので、この二つの証明書が必要だと。なのでブラウザ(仮にFirefox)から取得する場合の流れだと、

1.https://mixi.jp/ にアクセスして「証明書パスを含むX.509証明書(PEM)」でエクスポート。mixi.jp.crtというファイルが保存される

2.https://id.mixi.jp/ にアクセスして「証明書パスを含むX.509証明書(PEM)」でエクスポート。id.mixi.jp.crtというファイルが保存される

3.id.mixi.jp.crtをエディタで開いて全文コピー

4.mixi.jp.crtをエディタで開き、一番最後の行(-----END CERTIFICATE-----)の下に3でコピーしたものをペースト、上書き保存

5.4で作成したmixi.jp.crtをParanoidHTTPFetcher.phpで読ませる。mixi OpenIDのサンプルコードをPHP OpenID Libraryを使って動かしてみた(訂正) - 大阪 本町で働くITなエンジニア ダイアリーに書かれてある二箇所。ただし、
if ($this->isHTTPS($url)) { 
    curl_setopt($c, CURLOPT_CAINFO, 'mixi.jp.crtのパス');
 }
ではなく、
if ($this->isHTTPS($url)) {
 curl_setopt ($c, CURLOPT_SSL_VERIFYPEER, true);
 curl_setopt ($c, CURLOPT_CAINFO, 'mixi.jp.crtのパス');
} 
 でいけました(これで大丈夫ですか?)。
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009-2-15 16:46
wackey  2nd Class 登録日: 2007-8-10   投稿数: 16
lumbago さん情報ありがとうございます。
これで行けそうだったら、私もOpenIDでmixi認証を試してみます。

あと、個人的にはこれから調べてOpenPNEのOpenIDとの連携にもチャレンジしてみたいと思います。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009-2-15 18:24
kisara  2nd Class 登録日: 2008-3-15   投稿数: 10
PHPのコードはそれでいいと思います。
外部認証モジュールのOpenIDプラグインでも同じ方法をとっています。
ただ、mixi以外でもSSL通信したい場合は証明書を全部手で集める必要が出てくることになりませんか?

私は前にも書いた通り mk-ca-bundle.pl 使って証明書ファイル作るのがいいと思ってるのですが、この方法って検索してみても情報が全然ないんですね…(ほとんどが私の書いた情報)
ホントに正しいのかちょっと不安です。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009-2-15 21:47 | 最終変更
fuga  3rd Class 登録日: 2008-3-18   投稿数: 4
>lumbagoさん

OpenIDモジュールの一般設定の「CURLの追加のPEMファイルのパス」のところに、"XOOPS_ROOT_PATH/library/ca/cacert.pem"(modinfo.phpの例文の大間違いを気付かずそのままコピペするなんて。。)
"XOOPS_ROOT_PATH/modules/openid/library/ca/cacert.pem"と入力するだけで大抵の環境で正常に処理されるはずなのですが、それでは駄目だったんでしょうか?

同包してあるcacert.pemではうまくいかないOPの場合は、kisaraさんが書かれた方法で作成されるca-bundle.crtを適当なディレクトリにアップして、そのパスを入力します。
投票数:2 平均点:5.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009-2-15 22:03
lumbago  1st Class 登録日: 2006-4-13   投稿数: 34
 fugaさん、こんにちは。
 Yahoo!がすんなりいったもので完全に見落としてました……。"XOOPS_ROOT_PATH/modules/openid/library/ca/cacert.pem"にしていけました。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009-2-16 13:57
wackey  2nd Class 登録日: 2007-8-10   投稿数: 16
fuga さん lumbago さん

お二方のコメントを読ませていただいて、"XOOPS_ROOT_PATH/modules/openid/library/ca/cacert.pem"でmixi認証の動作確認しました。
ありがとうございました。
投票数:0 平均点:0.00

  条件検索へ


Back to Page Top
MainMenu
Manuals
Search
XOOPS Official & Dev.
XOOPS Communities