AuthPlugin/ja

認証プラグインインターフェイス.

既存の認証プラグイン
IMAP、LDAPなどに対して既に多くの認証プラグインが存在します. Category:User identity extensionsにこれらのエクステンションのリストがあります.

新しい認証プラグインを作成する
独自のプラグインを書きたい場合、MediaWiki Source Documentationでソースドキュメントをご覧下さい. (see also the latest source code)

外部ソースに対して認証するためにAuthPluginのサブクラスをインスタンス化して$wgAuthをそれに設定して下さい.

デフォルトの振る舞いは何もしませんし、すべての認証のためにすべてのローカルユーザーのデータベースを利用します. サブクラスはすべてのアカウントが外部で認証されることを要求する、もしくは代替システムとしてのみそれを使用します; また外部で認証できる誰かが始めてログインした時に透過的に内部wikiアカウントを作成することが出来ます.

Fall-back
As mentioned above, a subclass can fall back to local (i.e. mediawiki db) authentication. It does this by returning false when its strict method is being called. The $wgUser object then proceeds to compare the submitted password to the one in its database.

See this excerpt of includes/User.php for details, method checkPassword: if( $wgAuth->authenticate( $this->getName, $password ) ) { return true; } elseif( $wgAuth->strict ) { /* Auth plugin doesn't allow local authentication */ return false; } elseif( $wgAuth->strictUserAuth( $this->getName ) ) { /* Auth plugin doesn't allow local authentication for this user name */ return false; } if ( self::comparePasswords( $this->mPassword, $password, $this->mId ) ) { return true;

As you can see, it is even possible for the AuthPlugin to allow only certain users to fall back to their passwords stored locally by returning false when its strictUserAuth is being called next.

Installation
Put the files in the extensions folder (preferably a sub folder), than add something akin to the below to your LocalSettings.php

External Sessions
In order to check the login status against some external session management scheme, use the AutoAuthenticate hook (MediaWiki 1.5 - 1.12) or UserLoadFromSession (since MediaWiki 1.13). This can be used to implement a single-signon setup, in addition to simple account sharing.