hypweb.net
XOOPSマニア  最新情報のRSS(サイト全体)
[ 自宅サーバーWebRing |ID=54 前後5表示乱移動サイト一覧 ]

TOP » xpwiki » keyword » OpenID モジュール

OpenID 認証 モジュール (おーぷんあいでぃ にんしょう もじゅーる) anchor.png Edit

XOOPS に OpenID による認証機能を追加するモジュール。

Sakimura さんの OpenID認可モジュール をベースに "OpenID Auth Module" Development Committee により開発されている。

"OpenID Auth Module" Development Committee は、現在 ディスカス・コミュニティ のサイト上で活動しています。

質問・要望などは、ディスカス・コミュニティ - OpenIDを語ろう へどうぞ。

  • リポジトリ
  • 最新スナップショットのダウンロード
    • まだ十分にテストされていない書かれたばかりの生々しいコードです。また突然の仕様変更、スナップショットの取得タイミングにより正常に動作しないことなどがあります。
    • あくまでも、開発途上バージョンですが、開発サイトなどで3ヶ月程度の動作実績があります。

また、GitHub 上の XoopsX リポジトリ上でも、開発・メンテナンスを始めました。こちらは、X-updateインストールできるバージョンとなっています。

Page Top

設定方法 anchor.png Edit

Page Top
一般設定 anchor.png Edit
  • OpenIDによる新規ユーザー登録を許可する:
    • 許可しない場合、既存ユーザーとの紐付けのみ行えるようになります。
    • Xoops標準ユーザー管理機能での新規登録とは独立して指定されます。通常のE-Mailとパスワードを登録する新規登録は不可とし、OpenIDでの登録のみ認める、あるいはその逆などが指定できます。
  • OpenID公開レベル: 登録されたOpenIDを公開するかどうか指定します。デフォルトは「各ユーザー自身に選択させる」です。
  • 乱数生成デバイス: 使用できない場合が多い。その場合は空欄にする。
  • フィルター: 下記参照
  • 初期登録グループ: OpenIDでログインするユーザーはユーザー登録時にこのグループに割り振られます。
  • 追加のSSL証明: 特定のOPだけ認証に失敗する場合、追加のpemファイルへのパスを入力する。
Page Top
フィルター anchor.png Edit
Page Top
例1:全てのOpenIDを区別しないで受け入れる anchor.png Edit
1. 一般設定で『フィルターを使用しない』を選択する。
Page Top
例2:mixiのIDだけを受け入れる anchor.png Edit
1. 一般設定で『どのフィルターにも一致しない場合は拒否』を選択する。
2. フィルター簡易設定で『mixi』を選択し、登録するグループを選択する。
Page Top
例3:マイミクシィだけを受け入れる anchor.png Edit
1. 一般設定で『どのフィルターにも一致しない場合は拒否』を選択する。
2. フィルター簡易設定で『マイミクシィ認証』を選択し、『Specified ID』に自分のmixi IDを入力し、登録するグループを選択する。
Page Top
例4:全てのOpenIDを受け入れるが、特定のIDやOPだけを受け入れない anchor.png Edit
1. 一般設定で『どのフィルターにも一致しない場合は許可』を選択する。
2. 高度なフィルター設定の左上『New』ボタンから拒否したい『Endpoint』※1 『Claimed Identifier』※2 あるいは『User-Supplied Identifier』※3 を正規表現で登録する。
※1 認証サービスを提供するサーバーのURL
※2 ユーザーのOpenID
※3 ユーザーが最初に入力するURL
Page Top

Tips anchor.png Edit

Page Top

XOOPS Cube Legacy 2.1.4 - 2.1.5 で mixi 認証が動かない。 anchor.png Edit

Page Top

ログインブロックにフォームを追加したい。 anchor.png Edit

  • ログインブロックのテンプレートに以下(一例)を記述する
    Everything is expanded.Everything is shortened.
     
    -
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    !
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    
    <script type="text/javascript">
    <!--
    function openid_b_submit(identifier, msg) {
    	var f = document.getElementById('openid_b_id_form');
    	if (msg) {
    		document.getElementById('openid_b_id_msg').innerHTML = msg;
    		document.getElementById('openid_b_identifier').value = identifier;
    		identifier = '';
    		f.style.display = '';
    		document.getElementById('openid_b_id').focus();
    	} else {
    		if (!identifier) {
    			f.style.display = 'none';
    			var id = document.getElementById('openid_b_id').value;
    			if (id) {
    				identifier = document.getElementById('openid_b_identifier').value;
    				identifier = identifier.replace('__ID__', id);
    			} else {
    				document.getElementById('openid_b_identifier').value = '';
    				return false;
    			}
    		}
    	}
    	if (identifier) {
    		document.getElementById('openid_b_identifier').value = identifier;
    		document.getElementById('openid_b_submit').submit();
    	}
    	return false;
    }
    //-->
    </script>
    <style>
    input.openid_login {
        background: url(<{$xoops_url}>/modules/openid/images/login-bg.gif) no-repeat;
        background-color: #fff;
        background-position: 0 50%;
        color: #000;
        padding-left: 18px;
        width: 100px;
    }
    div.openid_icons {
        margin: 2px;
    }
    div.openid_icons img {
        margin: 0;
        cursor: pointer;
    }
    </style>
    <form id="openid_b_submit" method="POST" action="<{$xoops_url}>/modules/openid/try_auth.php">
    <input type="hidden" name="action" value="verify" />
    <input id="openid_b_identifier" class="openid_login" type="text" name="openid_identifier" class="openid_login" value="" />
    <input type="hidden" name="frompage" value="<{$xoops_requesturi}>" />
    <br />
    <input type="submit" name="Submit" value="OpenIDログイン" />
    </form>
    <div class="openid_icons">
    <img src="<{$xoops_url}>/modules/openid/images/icons/mixi.gif" title="mixiでログイン" onclick="openid_b_submit('mixi.jp/');" />
    <img src="<{$xoops_url}>/images/yahoo_icon.gif" title="Yahoo!でログイン" onclick="openid_b_submit('yahoo.co.jp');" />
    <img src="<{$xoops_url}>/modules/openid/images/icons/hatena.gif" title="はてなでログイン" onclick="openid_b_submit('http://www.hatena.ne.jp/__ID__/','はてなの ID を入力してください。');" />
    <img src="<{$xoops_url}>/modules/openid/images/icons/docomo.gif" title="docomo IDでログイン (iモードIDは取得していません)" onclick="openid_b_submit('i.mydocomo.com');" />
    <img src="<{$xoops_url}>/modules/openid/images/icons/google.gif" title="Googleでログイン" onclick="openid_b_submit('https://www.google.com/accounts/o8/id');" />
    <img src="<{$xoops_url}>/modules/openid/images/icons/livedoor.gif" title="Live Doorでログイン" onclick="openid_b_submit('livedoor.com');" />
    <img src="<{$xoops_url}>/modules/openid/images/icons/biglobe.gif" title="Biglobeでログイン" onclick="openid_b_submit('biglobe.ne.jp');" />
    </div>
    <div id="openid_b_id_form" style="display:none;">
    <form action="<{$xoops_url}>/modules/openid/" method="POST" onsubmit="return openid_b_submit();">
    <div id="openid_b_id_msg">&nbsp;</div>
    <input type="text" size="10" id="openid_b_id" name="openid_b_id" value="" />
    <input type="submit" name="Submit" value="OK" />
    </form>
    </div>


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 277, today: 1, yesterday: 0
初版日時: 2008-08-28 (木) 13:12:42
最終更新: 2011-02-06 (日) 22:35:29 (JST) (4789d) by nao-pon
このページのTopへ
メインメニュー
ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録
オンライン状況
144 人のユーザが現在オンラインです。 (1 人のユーザが xpwiki を参照しています。)

登録ユーザ: 0
ゲスト: 144

もっと...
サイト情報