Extensão:CentralAuth

From mediawiki.org
This page is a translated version of the page Extension:CentralAuth and the translation is 50% complete.
Manual de extensões do MediaWiki
OOjs UI icon advanced-invert.svg
CentralAuth
Estado da versão: estável
CentralAuth administration demo screenshot.png
Implementação Identidade de usuário , Banco de dados , Página especial , API
Descrição Permite mesclar contas em contas globais
Autor(es) Brion Vibber
Política de
compatibilidade
Snapshots releases along with MediaWiki. Master is not backward compatible.
MediaWiki 1.29
Modifica o banco
de dados
Sim
Tabelas globalnames
localnames
globaluser
localuser
global_user_groups
global_group_permissions
wikiset
global_group_restrictions
renameuser_status
renameuser_queue
users_to_rename
Licença GNU GPL (Licença Pública Geral) 2.0 ou superior
Download
  • $wgCentralAuthAutoLoginWikis
  • $wgCentralAuthTokenSessionTimeout
  • $wgCentralAuthTokenCacheType
  • $wgCentralAuthCookies
  • $wgCentralAuthUseEventLogging
  • $wgCentralAuthSessionCacheType
  • $wgOverrideCentralIdLookupProvider
  • $wgCentralAuthReadOnly
  • $wgCentralAuthCookiePath
  • $wgCentralAuthRC
  • $wgGlobalRenameDenylist
  • $wgCentralAuthGlobalBlockInterwikiPrefix
  • $wgCentralAuthAutoMigrateNonGlobalAccounts
  • $wgCentralAuthOldNameAntiSpoofWiki
  • $wgCentralAuthDatabase
  • $wgCentralAuthDryRun
  • $wgCentralAuthAutoMigrate
  • $wgCentralAuthWikisPerSuppressJob
  • $wgCentralAuthCheckSULMigration
  • $wgCentralAuthEnableGlobalRenameRequest
  • $wgCentralAuthCookiePrefix
  • $wgCentralAuthLoginIcon
  • $wgCentralAuthStrict
  • $wgCentralAuthCreateOnView
  • $wgCentralAuthLoginWiki
  • $wgGlobalRenameDenylistRegex
  • $wgCentralAuthGlobalPasswordPolicies
  • $wgDisableUnmergedEditing
  • $wgCentralAuthCookieDomain
  • $wgCentralAuthPrefsForUIReload
  • $wgCentralAuthAutoCreateWikis
  • $wgCentralAuthPreventUnattached
  • centralauth-createlocal
  • centralauth-merge
  • centralauth-unmerge
  • centralauth-lock
  • centralauth-suppress
  • globalgrouppermissions
  • globalgroupmembership
  • centralauth-rename
Para traduzir a extensão CentralAuth, verifique sua disponibilidade no translatewiki.net

Verificar uso e matriz de versões

Problemas Tarefas em aberto · Relatar um bug

CentralAuth permite contas globais compartilhadas entre projetos. Esta extensão adiciona as seguintes novas páginas especiais: Special:CentralAuth, Special:CentralLogin (página especial não listada), Special:CentralAutoLogin (página especial não listada), Special:CreateLocalAccount, Special:MergeAccount, Special:GlobalGroupMembership, Special:GlobalGroupPermissions, Special:WikiSets, Special:GlobalUsers, Special:MultiLock, Special:GlobalRenameUser, Special:GlobalRenameProgress

É recomendado que você baixe a versão do CentralAuth que corresponde à sua versão do MediaWiki.

Atenção Atenção: O CentralAuth foi projetado especificamente para projetos da Wikimedia que já tinham milhões de contas que precisavam ser mescladas em uma tabela global.

Se você está iniciando um novo wiki farm do zero e não precisa mesclar contas existentes em uma tabela global, é muito mais fácil configurar contas globais usando $wgSharedDB em vez de 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.

Esta extensão fornece essa funcionalidade ao custo da complexidade.


Instalação

Consulte a seção setup abaixo para obter os pré-requisitos para usar o CentralAuth. Em seguida, siga estas instruções quando estiver pronto para ativar o CentralAuth:

  1. Faça o download do último snapshot e extraia-o para seu diretório extensions.
  2. Escolha um banco de dados e crie as tabelas do banco de dados do CentralAuth. Você pode usar um banco de dados existente ou criar um novo; a extensão por padrão usa um banco de dados chamado centralauth (veja $wgCentralAuthDatabase abaixo). Use este banco de dados e execute 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). Uma maneira de fazer isso é despejar a tabela spoofuser do banco de dados do wiki local e importá-la para o novo $wgCentralAuthDatabase.
  3. Adicione wfLoadExtension( 'CentralAuth' ); a LocalSettings.php para cada um de seus wikis, ou em outro arquivo PHP que esteja incluído em LocalSettings.php em cada um de seus wikis.
  4. A extensão deve estar agora ativa.

Aqui estão exemplos de comandos SQL e shell para criar o banco de dados do centralauth, copie a tabela spoofuser para ela e migre os dados de usuário existentes para ela. Substitua $wgDBname e $wgDBuser pelos valores para sua própria instalação do wiki.

Crie um novo banco de dados (Lembre-se de que esta etapa é opcional, você pode usar um de seus bancos de dados existentes, nesse caso, pule para a etapa de criação de tabelas):

$ 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

O seguinte assume que seu diretório de trabalho atual é sua instalação do MediaWiki (não seu diretório CentralAuth). Crie as tabelas de central auth (usando sql.php é preferível. Se você não tiver acesso ao shell, também poderá importar tables-generated.sql por meio de ferramentas de administração de banco de dados como PHPMyAdmin):

Versão MediaWiki:
1.38
Gerrit change 758563
php maintenance/sql.php --wikidb centralauth extensions/CentralAuth/schema/<db_type>/tables-generated.sql
Versão MediaWiki:
1.37
Gerrit change 758563
php maintenance/sql.php --wikidb centralauth extensions/CentralAuth/central-auth.sql

Se o AntiSpoof estiver instalado, crie a tabela via (Alternativamente, você pode copiar uma tabela AntiSpoof existente se quiser manter as entradas anteriores):

php maintenance/sql.php --wikidb centralauth extensions/CentralAuth/AntiSpoof/patch-antispoof-global.mysql.sql

Execute os scripts de migração do usuário

$ php extensions/CentralAuth/maintenance/migratePass0.php
$ php extensions/CentralAuth/maintenance/migratePass1.php

Walkthrough é uma configuração mais amigável do que as instruções abaixo.

Setup

Atenção Atenção: Uma wiki de login central é necessário se você quiser ter um login universal em diferentes domínios primários (ou seja, se seus wikis não estiverem em subdomínios do mesmo domínio). Veja abaixo para detalhes.

Primeiro, você precisará configurar sua família de wikis usando $wgConf , ou CentralAuth não poderá ser usado para sua família de wikis. Isso inclui definir $wgLocalDatabases e atribuí-lo a $wgConf->wikis e $wgConf->settings (o mínimo é $wgCanonicalServer , $wgServer e $wgArticlePath ). Siga os exemplos cuidadosamente. Certifique-se de colocar o código de configuração depois da linha wfLoadExtension( 'CentralAuth' ); em LocalSettings.php. Se você estiver criando uma nova família de wikis, tenha em mente que pode ser mais fácil se os bancos de dados dos wikis em cada grupo tiverem o mesmo sufixo (por exemplo, bancos de dados hipotéticos enwiki, dewiki, frwiki, etc., pertencentes a wikis pertencentes ao mesmo grupo, todos têm o sufixo "wiki").

Depois de instalar a extensão, você deve coletar alguns dados no banco de dados do CentralAuth. Para configurar contas globais retroativamente, você terá que executar os scripts migratePass0.php e migratePass1.php. O primeiro armazena informações sobre seus wikis no banco de dados do CentralAuth, enquanto o segundo usa heurísticas de migração automática para gerar contas globais. Um usuário pode mesclar suas contas manualmente via Special:MergeAccount. Dry runs podem ser usadas para fins de teste.

Para habilitar grupos globais, você terá que fazer uma entrada na tabela global_group_permissions em seu banco de dados do CentralAuth, com ggp_group='steward' e (para acesso à interface de gerenciamento de grupo) ggp_permission=globalgrouppermissions. Um exemplo de consulta que é recomendado usar é: INSERT INTO global_group_permissions (ggp_group,ggp_permission) VALUES ('steward','globalgrouppermissions'), ('steward','globalgroupmembership');. Em seguida, execute migrateStewards.php para promover stewards locais ao status de steward global.

Existem várias configurações que você pode querer modificar (por exemplo, se deve fornecer login único em um domínio inteiro) listadas em CentralAuth.php. Em particular, você desejará substituir o valor padrão de $wgCentralAuthDatabase se seu banco de dados do CentralAuth tiver um nome diferente de 'centralauth'. Certifique-se de colocar essas configurações após a linha wfLoadExtension em LocalSettings.php, por exemplo:

wfLoadExtension( 'CentralAuth' );
$wgCentralAuthDatabase = 'mycentralauthdatabase';

"SUL2" behavior

Atenção Atenção: Como todos os usuários logados terão uma sessão no wiki de login central, é recomendável configurar um novo wiki com o menor número possível de extensões instaladas (não usando um wiki existente para esta finalidade). Isso reduzirá o risco de vulnerabilidades XSS.
Atenção Atenção: O login universal pode ser interrompido nas versões mais recentes do Google Chrome devido à política de cookies do SameSite. Para consertar isso, você precisa adicionar:
$wgCookieSameSite = "None";
$wgUseSameSiteLegacyCookies = true;
Além disso, você deve executar seu site em HTTPS.

Em julho de 2013, a WMF mudou sua abordagem para registrar usuários em vários wikis. Quando configurado para essa nova abordagem, após o login bem-sucedido e a criação da conta, o CentralAuth redireciona para Special:CentralLogin/start?token=somevalue em um "wiki de login central", que define cookies nesse wiki e redireciona de volta para o wiki conectado. Ele omite a página "sucesso na criação de login/conta", redirecionando de volta para a página "retornar" em que o usuário estava originalmente. Ele coloca imagens de pixel 1x1 no rodapé dessa página, no lugar dos ícones usados anteriormente na página "sucesso na criação de login/conta".

As configurações para isso são, aproximadamente,

# General CentralAuth configuration
$wgCentralAuthCookies = true;
$wgCentralAuthAutoNew = true; // Parameter deleted from MediaWiki 1.27
$wgCentralAuthDatabase = 'centralauthDatabaseName'; // default is 'centralauth'
$wgCentralAuthAutoMigrate = true;
#$wgCentralAuthCookieDomain = '.example.org';
$wgCentralAuthAutoLoginWikis = array(
    # Mapping from domain name to wiki id for other wikis to automatically login into
);
# Create the local account on pageview, set false to require a local login to create it.
$wgCentralAuthCreateOnView = true;

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

# Skips the "login success" page
$wgCentralAuthSilentLogin = true;

# Deprecated, will be removed soon.
$wgCentralAuthUseOldAutoLogin = false;

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

$wgCentralAuthAutoNew means account creation will create a new global account (this parameter was deleted from MediaWiki 1.27).

Simulating SUL2 behavior on a single-instance development machine

You can simulate this new behavior on a single-instance development machine. Você pode definir $wgCentralAuthLoginWiki = $wgDBname para que o CentralAuth faça suas solicitações de redirecionamento HTTP para o mesmo wiki local. Isso não exercerá o login central corretamente, mas ativará o comportamento de "returnto". O CentralAuth ainda usará seu próprio banco de dados de 'centralauth' para armazenar nomes de usuários globais.

Para determinar a URL no login wiki, o CentralAuth usa o WikiMap, que assume que um wiki farm foi configurado usando $wgConf . A configuração (em SiteConfiguration.php) é muito flexível; uma maneira de configurar um wiki único fictício $wgConf em LocalSettings.php é:

// You can't just set wgConf values to the globals defined in Setup.php for your
// local wiki, because it hasn't run yet.  You could hard-code $wgConf settings
// here, but instead we set the wgConf values in a hook that runs later.
$wgHooks['SetupAfterCache'][] = function() {
    global $wgConf, $wgDBname,
        $wgServer, $wgCanonicalServer, $wgArticlePath;
    $wgConf->suffixes = array( $wgDBname );
    $wgConf->settings['wgServer'][$wgDBname] = $wgServer;
    $wgConf->settings['wgCanonicalServer'][$wgDBname] = $wgCanonicalServer;
    $wgConf->settings['wgArticlePath'][$wgDBname] = $wgArticlePath;
    return true;
};

This is in addition to the settings in #"SUL2" behavior above.

Problemas de cache

Para melhores resultados, é recomendável usar o memcached. Se você tiver apenas um único servidor, os caches do acelerador (CACHE_ACCEL) como o APCu também podem funcionar, mas não os use se você tiver vários servidores. Se você não tiver um cache configurado (ou seja, CACHE_NONE) por $wgMainCacheType, ou estiver usando CACHE_DB, então você precisa ter certeza de que todos os seus wikis usam a mesma tabela de cache.

Por padrão, cada wiki em seu wiki farm usará a tabela objectcache em seu próprio banco de dados (com seu próprio prefixo db) quando $wgMainCacheType for definido como CACHE_NONE ou CACHE_DB. Para fazer isso funcionar com o CentralAuth, precisamos dizer aos wikis para usar uma tabela de cache central.

Se você quiser fazer uma tabela de cache central no banco de dados centralauth (e supondo que um de seus wikis existentes tenha um nome de banco de dados enwiki), execute um código como o seguinte para copiar a tabela para seu outro banco de dados:

CREATE TABLE centralauth.objectcache LIKE enwiki.objectcache

Em seguida, adicione a seguinte configuração a todos os wikis para instruí-los a usar a tabela central em vez de sua própria tabela:

$wgSharedDB     = 'centralauth'; // or whatever database you use for central data
$wgSharedTables = array( '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.


Configuração

Definições de configuração em CentralAuth.php
parâmetro padrão comentário
$wgCentralAuthDatabase 'centralauth' Nome do banco de dados em que você mantém os dados de central auth.

Se isso não estiver na conexão de banco de dados principal, não se esqueça de também configurar $wgDBservers para ter uma entrada com uma configuração de groupLoads para o grupo 'CentralAuth'. Alternativamente, você pode usar $wgLBFactoryConf para configurar um objeto LBFactoryMulti.

Para usar um banco de dados com um prefixo de tabela, defina essa variável como "{$database}-{$prefix}".

$wgCentralAuthAutoMigrate false Se true, as contas desanexadas existentes serão migradas automaticamente, se possível, no primeiro login.

Todas as novas criações de conta deverão ser anexadas.

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

$wgCentralAuthAutoMigrateNonGlobalAccounts false Se true, as contas desanexadas existentes onde não existe uma conta global serão comparadas para ver se uma mesclagem pode ser feita com base em senhas e e-mails sem conflitos (todas as contas mescladas).

Este foi anteriormente controlado por $wgCentralAuthAutoMigrate

$wgCentralAuthStrict false Se true, as contas restantes que não foram anexadas serão proibidas de fazer login até que sejam resolvidas.
$wgCentralAuthDryRun false Se true, a fusão não será realmente possível através da interface Special:MergeAccount.
$wgCentralAuthCookies false Se true, os cookies de sessão e token globais serão definidos juntamente com a sessão por wiki e os tokens de login quando os usuários fizerem login com uma conta global.

Isso permite que outros wikis no mesmo domínio façam login de forma transparente.

$wgCentralAuthLoginWiki false Nome do banco de dados de um wiki de login central. Esta é uma alternativa para configurar cookies cross-domain diretamente para cada wiki em $wgCentralAuthAutoLoginWikis. Se definido, um único wiki de login usará uma sessão/cookie para lidar com sessões de login unificadas em wikis.

No login, os usuários serão redirecionados para a página Special:CentralLogin/login do wiki de login e, em seguida, redirecionados para Special:CentralLogin de volta no wiki de origem. No processo, o cookie e a sessão do wiki de login central serão definidos. À medida que o usuário acessa outros wikis, o wiki de login será verificado via JavaScript para verificar o status do login e definir a sessão local e os cookies.

Isso requer $wgCentralAuthCookies.

$wgCentralAuthCookieDomain '' Domínio para definir cookies globais.

Por exemplo, '.wikipedia.org' para trabalhar em todos os subdomínios de wikipedia.org em vez de apenas o atual. Deixe em branco para definir o cookie apenas para o domínio atual, como se todos os seus wikis estivessem hospedados no mesmo subdomínio.

$wgCentralAuthCookiePrefix 'centralauth_' Prefixo para cookies de autenticação global do CentralAuth.
$wgCentralAuthCookiePath '/' Path for CentralAuth global authentication cookies. Defina esta variável se desejar restringir os cookies a um determinado caminho dentro do domínio especificado por $wgCentralAuthCookieDomain.
$wgCentralAuthAutoLoginWikis [] Lista de IDs de wiki que devem ser chamados no login para tentar definir cookies de terceiros para o estado global da sessão.

O ID do wiki é tipicamente o nome do banco de dados, exceto quando são usados prefixos de tabela, caso em que é o nome do banco de dados, um separador de hífen e, em seguida, o prefixo da tabela.

Isso permite um farm com vários domínios de segundo nível configure uma sessão global em todos eles acessando um wiki de cada domínio (en.wikipedia.org, en.wikinews.org, etc.).

Feito acessando Special:CentralAutoLogin/start em cada wiki.

Se estiver vazio, nenhum outro wiki será atingido.

A chave deve ser definida para o nome de domínio do cookie.

$wgCentralAuthAutoCreateWikis [] Lista de IDs de wiki nas quais uma conta local anexada deve ser criada automaticamente quando a conta global for criada.

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 $user->getOption( $pref ) !== User::getDefaultOption( $pref ), use the hook CentralAuthIsUIReloadRecommended.

$wgCentralAuthCookiesP3P true Specify a P3P header value to be used when setting CentralAuth cookies on the login wiki ($wgCentralAuthLoginWiki).

When set true, an invalid policy (lacking all required tokens) will be sent that none the less serves to allow current versions of IE with the default privacy settings to see the cookies in the auto-login check.

Set false to disable sending the P3P header altogether. Note this will likely break the auto-login check in IE, unless the header is being set globally elsewhere (e.g. in the webserver).

Otherwise, whatever string is assigned here will be sent as the value of the P3P header.

@var bool|string

$wgCentralAuthCreateOnView false If true, local accounts will be created for active global sessions on any page view. This is kind of creepy, so we're gonna have it off for a little bit.

With other default options, the local auto creation will be held off until an active login attempt, while global sessions will still automatically log in those who already have a merged account.

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

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

$wgCentralAuthLockedCanEdit [] List of local pages global users may edit while being globally locked.
$wgDisableUnmergedEditing false Disable editing for non-global accounts (except on NS_USER_TALK and NS_PROJECT_TALK).
$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

$wgCentralAuthUseEventLogging false Use the EventLogging extension to measure various activities.
$wgCentralAuthPreventUnattached false Don't allow new unattached accounts to be created.

@var bool

$wgCentralAuthEnableGlobalRenameRequest false Feature flag for Special:GlobalRenameRequest.

@var bool

$wgCentralAuthCheckSULMigration false Enable special logic to attempt to ease the user facing impact of forced user migrations.

@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

$wgCentralAuthUseSlaves false Try to use slave DBs for reads instead of the master all the time.

@var bool

$wgOverrideCentralIdLookupProvider true Set false if you really want to use 'local' rather than 'CentralAuth' for $wgCentralIdLookupProvider. This isn't the default because using CentralAuth is almost always what you want if CentralAuth is installed.

@var bool

$wgGlobalRenameBlacklist 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:GlobalRenameBlacklist 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: $wgGlobalRenameBlacklist = Title::makeTitle( NS_MEDIAWIKI, 'GlobalRenameBlacklist' );.
  • 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: $wgGlobalRenameBlacklist = "https://yourwiki/yourpath/index.php?title=MediaWiki:GlobalRenameBlacklist&action=raw";

You can use the exact names or regular expressions, see $wgGlobalRenameBlacklistRegex.

@var Title|string|null

$wgGlobalRenameBlacklistRegex false Whether the list in $wgGlobalRenameBlacklist is using regular expressions. If set to false, users will be matched literally, if set to true the username will be tested against the regular expressions (provided that they are valid).

@var bool

$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

Old configuration parameters

Old configuration settings in CentralAuth.php
parameter lifetime default comment
$wgCentralAuthAutoNew MediaWiki 1.12–1.26 (2a9795732276b0) false If true, new account registrations will be registered globally if the username hasn't been used elsewhere.

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-admin Read-only access to global account status Not applicable Inactive; defunct
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.

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

References

Ver também