Top > Documents > External authentication API

まだ、書きかけです。

外部認証API(I18N版のみ)

各サイト毎にユーザIDを作成し認証する運用も可能ですが、外部の信頼おけるサイトの認証を利用することも可能です。この場合、各サイトの管理者が利用したい外部認証APIを指定することで利用が可能となります。外部認証を利用すると、各サイトでのユーザIDとパスワードなどの運用管理がなくなります。

くれぐれも、各認証API提供側の方々にご迷惑をおかけすることのないように、PukiWiki Plus! に関わる問い合わせなど行わないように注意して下さい。 ID取得に関しても、まずは、このサイトで質問してみて下さい。

利用可能な外部認証API

各認証APIの機能を提供するサイトへは、PukiWiki Plus! から認証できるようにしている旨打診を入れているところです。 現時点においては、 はてなTypeKeylivedoor Authのご担当の方からは、現状で問題なしというご返答を頂戴しております。とは言え、状況によってサポートから外す場合もありますので、予めご了承下さい。

事前準備

利用したい各認証API毎に、事前準備の必要があります。

typekey

TypeKeyアカウント新規作成(https://www.typekey.com/t/typekey/register?lang=ja)

TypeKey のアカウントが無い場合には、まず最初にアカウントを作成して下さい。 外部認証API・TypeKey にある内容の通り、作業を進めてください。

はてな認証

はてなのアカウントを持っていない方は、はてな(http://www.hatena.ne.jp/)から、まずアカウントの作成を行って下さい。

はてな認証API(http://auth.hatena.ne.jp/)にアクセスして下さい。

開発者向けメニューにある、新規APIキーを取得する により、自サイトのための、APIキーを作成の後、取得済みAPIキー により自サイトへのURLの登録や、秘密鍵の確認ができます。

livedoor Auth

もし、livedoor IDを持っていない場合には、livedoor ID取得から、livedoor IDの作成を行って下さい。その次に、livedoor Auth利用規約に同意できる方のみ、livedoor Auth の機能を利用することが可能となります。

『認証API 開発者向けメニュー』にある、アプリケーションの管理を開き、新規登録を行って、サイトを登録して下さい。

例えば、このサイトを登録する場合には、

というように登録して下さい。必ず、コールバックURLには、?plugin=livedoor を付けるのを忘れないで下さい。

あとは、auth_api.ini.php の $auth_api[livedoor] にある、

use11で機能が有効になります。
app_keyアプリケーションキー
sec_key秘密鍵

を転記すれば終了です。

JugemKey

JugemKey(http://jugemkey.jp/)から、必要であれば、IDを作成して下さい。

開発者向けメニューにある、新規 API キーを取得する により、APIキーを作成して下さい。秘密鍵などは、取得済み API キーの確認/修正 により確認できます。

OpenID

もし、OpenIDを持っていない場合には、OpenID(英語)などから、OpenIDの作成を行って下さい。その次に、TERMS OF SERVICE for myOpenIDに同意できる方のみ、OpenIDの機能を利用することが可能となります。

『Your Account』より、Nickname、または、 (アカウント管理でニックネーム)を設定してください。

pukiwiki.ini.php に下記を追加するなどでスキンファイルのヘッダに次の2行を『Your Account』部分を変更して追加してください。

  • OpenID v2
    $head_tags[] = ' <link rel="openid2.provider" href="http://www.myopenid.com/server" />';
    $head_tags[] = ' <link rel="openid2.local_id" href="http://「Your Account」.myopenid.com/" />';
  • OpenID v1
    $head_tags[] = ' <link rel="openid.server" href="http://www.myopenid.com/server" />';
    $head_tags[] = ' <link rel="openid.delegate" href="http://「Your Account」.myopenid.com/" />';

あとは、auth_api.ini.php の $auth_api[openid] にある、

use11で機能が有効になります。

を転記すれば終了です。

  • 稼動などに関して php-openid-2.1.3.tar.bz2のライブラリを利用しています。詳細は、./lib/openid/README を確認下さい。

設定

利用にあたっての前提環境

  • セッションを有効にする
pukiwiki.ini.php

// PLUS_ALLOW_SESSION - Allow / Prohibit using Session
define('PLUS_ALLOW_SESSION', 1);

機能を有効にする

詳細は、lib/auth_api.ini.php をご覧下さい。

役割を付与する

詳細は、lib/auth_wkgrp.ini.phpをご覧下さい。

ログイン

ログインさせるには、以下のプラグインをブロック型*1として SideBar などに設置すると良いでしょう。

プラグイン
login全ての認証システムで利用可能
typekeyTypeKey認証のみ
hatenaHatena認証のみ
jugemkeyJugemKeyのみ
remoteipIPアドレスによる見做し認証
livedoorlivedoorAuthのみ
openidOpenID認証のみ

pukiwiki.ini.php

書き込み制限の設定を行っておくと、より効果的です。

// PKWK_READONLY - Prohibits editing and maintain via WWW
//   NOTE: Counter-related functions will work now (counter, attach count, etc)
if (! defined('PKWK_READONLY'))
        define('PKWK_READONLY', 4); // 0,1,2,3,4

PKWK_READONLY の値に 4 を指定した場合には、comment,pcomment プラグインにおいて、外部認証者に対してのみコメントの書き込みが許可されます。edit プラグインによる書き込みは制限されます。commentおよびpcommentプラグインにおいては、ユーザ名の変更はできません。認証されているニックネームなどが強制的に書き込まれる仕様となっている都合上、editプラグインによる修正を防いでいます。


*1 #プラグイン名

重新載入   新增 Lower page making 解除封鎖 差異 複製 更名   首頁 頁面列表 搜尋 最新更動 備份 逆向連結   求助   最新更動的 RSS
Last-modified: Wed, 23 Jul 2008 18:07:21 CST (775d)