Jump to content

Extension:CentralAuth/nl

From mediawiki.org
This page is a translated version of the page Extension:CentralAuth and the translation is 100% complete.
MediaWiki Handleiding extensies
CentralAuth
Release status: stabiel
Implementatie Gebruikersidentiteit , Database , Speciale pagina , API
Beschrijving Staat toe het samenvoegen van accounts naar globale accounts
Auteur(s) Brooke Vibberoverleg
Compatibiliteit beleid Snapshots releases samen met MediaWiki. Master is niet achterwaarts compatibel.
Database wijzigingen Ja
Virtueel domein virtual-centralauth
  • $wgCentralAuthAutoLoginWikis
  • $wgCentralAuthCookiePath
  • $wgCentralAuthEnableSul3
  • $wgCentralAuthAutomaticVanishPerformer
  • $wgCentralAuthReadOnly
  • $wgCentralAuthAutoMigrate
  • $wgCentralAuthFallbackAppealUrl
  • $wgCentralAuthBlockAppealWikidataIds
  • $wgCentralAuthSul3SharedDomainRestrictions
  • $wgCentralAuthEnableGlobalRenameRequest
  • $wgCentralAuthRestrictSharedDomain
  • $wgCentralAuthGlobalPasswordPolicies
  • $wgCentralAuthCookieDomain
  • $wgCentralAuthWikisPerSuppressJob
  • $wgCentralAuthFallbackAppealTitle
  • $wgCentralAuthCookies
  • $wgCentralAuthAutomaticVanishWiki
  • $wgCentralAuthRC
  • $wgCentralAuthGlobalBlockInterwikiPrefix
  • $wgCentralAuthAutoMigrateNonGlobalAccounts
  • $wgCentralAuthDatabase
  • $wgCentralAuthDryRun
  • $wgCentralAuthAutomaticGlobalGroups
  • $wgCentralAuthCentralWiki
  • $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
License GNU General Public License 2.0 or later
Download
Vertaal de CentralAuth extensie indien beschikbaar op translatewiki.net
Problemen Open taken · Rapporteer een bug

CentralAuth staat het samenvoegen toe van verschillende bestaande globale accounts naar een globaal account.

Waarschuwing Waarschuwing: CentralAuth is specifiek ontworpen voor Wikimedia-projecten die al miljoenen accounts hadden die samengevoegd moesten worden in een globale tabel.

Als u een nieuwe wiki-farm start en geen bestaande accounts hoeft te combineren in een globale tabel, is het veel gemakkelijker om globale accounts op te zetten met $wgSharedDB in plaats van met CentralAuth.[1][2]

$wgSharedDB is echter alleen nuttig voor het voorkomen van conflicten tussen gebruikersnamen en heeft geen betrekking op universele aanmeldingen (in plaats daarvan moeten gebruikers zich aanmelden bij elke wiki) of op de rechten en het beheer van een cluster-account. Deze extensie biedt deze functionaliteit ten koste van complexiteit.

Als u deze extensie op een derde-partij-wiki gebruikt, moet u waarschijnlijk complexe problemen oplossen die mogelijk moeten worden opgelost in de broncode.

U bent gewaarschuwd.
Waarschuwing Waarschuwing: CentralAuth werkt niet goed met SQLite-gebaseerde installaties, zoals Quickstart . Zie T382432.

Installatie

Zie de setup sectie hieronder voor de vereisten voor het gebruik van CentralAuth. Volg dan deze instructies wanneer u klaar bent om CentralAuth te activeren:

  1. Installeer Extension:AntiSpoof , omdat het een vereiste afhankelijkheid is.
  2. Download de laatste snapshot en pak deze uit in uw map extensions.
  3. Kies een database en maak de database tabellen voor CentralAuth. U kunt een bestaande database gebruiken of een nieuwe maken. (De extensie maakt standaard gebruik van de lokale database van de wiki, wat handig is voor geautomatiseerd testen, maar niet echt logisch is op een echte wiki-farm (omdat het voor elke wiki anders zal zijn, maar het doel van CentralAuth is het delen van gegevens tussen wiki's), dus u zult dat opnieuw moeten configureren; zie $wgVirtualDomainsMapping['virtual-centralauth'] hieronder.) Gebruik deze database en voer tables-generated.sql uit.
    • Als u Extension:AntiSpoof gebruikt, moet u een globale spoofuser tabel maken (om nieuwe gebruikersnamen te blokkeren die lijken op bestaande gebruikersnamen in een wiki). Een manier om dit te doen is om de tabel spoofuser uit de database van de lokale wiki te dumpen en het in de nieuwe $wgVirtualDomainsMapping['virtual-centralauth'] te importeren.
  4. Voeg wfLoadExtension( 'CentralAuth' ); aan LocalSettings.php toe voor elke wiki, of in een ander PHP-bestand dat in LocalSettings.php op elke wiki is opgenomen.
  5. De extensie moet nu actief zijn.

Een nieuwe database aanmaken

Hier zijn voorbeelden van shell en SQL-commando's om de database centralauth te maken, de tabel spoofuser erin te kopiëren en bestaande gebruikersgegevens over te zetten. Vervang $wgDBname en $wgDBuser met de waarden van uw eigen wiki-installatie.

Maak de nieuwe database aan (Houd er rekening mee dat deze stap optioneel is, u kunt in plaats daarvan een van uw bestaande databases gebruiken, in dat geval skipt u naar de stap maken tabellen):

$ cd extensions/CentralAuth
$ mysql -u root -p
(voeg het wachtwoord in voor root SQL-gebruiker)
CREATE DATABASE centralauth;
USE centralauth;
GRANT all on centralauth.* to '$wgDBuser'@'localhost';
quit

Onderhoudsscripts uitvoeren

Het volgende veronderstelt dat uw huidige werkmap uw MediaWiki-installatie bevat (niet uw map CentralAuth). Maak de 'centrale auth' tabellen aan (het gebruik van sql.php heeft de voorkeur).

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

Als AntiSpoof is geïnstalleerd, maakt u de tabel via (U kunt ook een bestaande tabel AntiSpoof kopiëren als u eerdere accounts wilt behouden):

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

De migratiescripts voor gebruikers uitvoeren

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

Upgraden

CentralAuth is ontworpen voor grote wiki-farms die database-updates handmatig uitvoeren om zero-downtime-upgrades mogelijk te maken. Om die reden wordt de CentralAuth-database niet bijgewerkt met het gebruikelijke upgradeproces. Er wordt verwacht dat gebruikers van derden de ontwikkeling van CentralAuth volgen en de database migraties handmatig toepassen.

Setup

Waarschuwing Waarschuwing: Een centrale login wiki (zie #SUL2) of een gedeeld auth-domein (zie #SUL3) is nodig als u een universele aanmelding wilt hebben op verschillende primaire domeinen (d.w.z. als u wiki's niet onder subdomeinen van hetzelfde domein staan).

Eerst moet u uw wiki-familie configureren met $wgConf , anders kan CentralAuth niet worden gebruikt voor uw wiki-familie. Dit omvat het instellen van $wgLocalDatabases en het toewijzen aan $wgConf->wikis en $wgConf->settings (minimum is $wgCanonicalServer , $wgServer en $wgArticlePath ). Bekijk de voorbeelden zorgvuldig. Als u een nieuwe wiki-familie aan het maken bent, moet u bedenken dat het makkelijker kan zijn als de databases voor de wiki's in elke groep hetzelfde achtervoegsel hebben (bijvoorbeeld hypothetische databases enwiki, dewiki, frwiki, enz., die betrekking hebben op wiki's die tot dezelfde groep behoren, alle hebben het achtervoegsel "wiki").

Na het installeren van de extensie moet u wat gegevens verzamelen in de CentralAuth-database. Om terugwerkend globale accounts op te zetten, moet u de scripts migratePass0.php en migratePass1.php uitvoeren. De eerste opslaat informatie over uw wiki's in de CentralAuth-database, terwijl de tweede automatische migratie heuristiek gebruikt om globale accounts te genereren. Een gebruiker kan zijn accounts handmatig via Special:MergeAccount samenvoegen. Voor het testen is er een 'dry run' mogelijk, uitvoeren zonder iets in de database te wijzigen.

Om globale groepen in te schakelen, moet u een record maken in de tabel global_group_permissions in uw CentralAuth-database, met ggp_group='steward' en (voor toegang tot de groepsbeheersinterface) ggp_permission=globalgrouppermissions. Een query die wordt aanbevolen is:

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

Vervolgens, promoveer sommige gebruikers naar stewards:

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

Er zijn verschillende instellingen die u mogelijk wilt wijzigen (bijvoorbeeld of u eenmalige aanmelding voor een heel domein wilt aanbieden) die worden vermeld in CentralAuth.php. In het bijzonder zult u een waarde voor $wgVirtualDomainsMapping['virtual-centralauth'] willen instellen. Zorg ervoor dat u deze instellingen na de regel wfLoadExtension in LocalSettings.php plaatst, bijvoorbeeld:

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

SUL2

Waarschuwing Waarschuwing: Aangezien alle ingelogde gebruikers een sessie zullen hebben in de centrale inlogwiki, is het aan te raden om een nieuwe wiki op te zetten met zo min mogelijk geïnstalleerde extensies (gebruik geen bestaande wiki voor dit doel). Dit zal het risico op XSS-kwetsbaarheden verminderen.
Waarschuwing Waarschuwing: Het universele inlogproces kan in nieuwere versies van Google Chrome worden verstoord door het cookiebeleid SameSite. Om het te verbeteren, moet u toevoegen:
$wgCookieSameSite = "None";
$wgUseSameSiteLegacyCookies = true;
Bovendien moet u uw site onder HTTPS uitvoeren.


In juli 2013 veranderde Wikimedia zijn aanpak om gebruikers in meerdere wiki's te loggen. Na een succesvolle login en accountopbouw wordt CentralAuth bij het configureren van deze nieuwe aanpak naar Special:CentralLogin/start?token=somevalue doorverwezen op een "centrale login wiki", die cookies op die wiki instelt en vervolgens terugverwijst naar de ingelogde wiki. Het verwijdert de pagina "login/account creatie succes", maar verwijst terug naar de pagina "returnto" waarop de gebruiker oorspronkelijk was. Het plaatst 1x1 pixel afbeeldingen in de voet van die pagina, in plaats van de iconen die vroeger werden gebruikt op de pagina "Aanmelden/account maken geslaagd".

De instellingen voor dit zijn, ongeveer,

# Algemene configuratie CentralAuth
$wgCentralAuthCookies = true;
// standaard is het gebruiken van de lokale wiki database
$wgVirtualDomainsMapping['virtual-centralauth'] = [ 'db' => 'centralauthDatabaseName' ];
$wgCentralAuthAutoMigrate = true;
$wgCentralAuthAutoLoginWikis = [
    # Koppeling van domeinnaam naar wiki-id voor andere wiki's om automatisch in te loggen
    'enwiki.mediawiki.mwdd.localhost' => 'enwiki',
];

# Activeert de doorverwijzing naar de "centrale login wiki"
$wgCentralAuthLoginWiki = 'WikiIdOfLoginWiki';

$wgCentralAuthLoginWiki is de id (meestal de database-naam) van de wiki naar welke CentralAuth zal omleiden bij login en een account zal maken.

SUL3

In 2025 is de opzet van het Wikimedia-cluster gewijzigd, zodat authenticatie plaatsvindt (bijv. gebruikers voeren hun wachtwoorden in) op een gedeeld domein, in plaats van op de individuele domeinen van elke wiki. Het gedeelde domein kan worden geconfigureerd om elk van de wiki's in de farm te bedienen. Dit is gemotiveerd door wijzigingen in de browsercookies die cookies kunnen voorkomen tijdens de doorverwijzing via een centrale wiki. Zie SUL3 voor meer details.

Om uw wiki-farm te configureren voor het gebruik van SUL3:

  1. Zorg ervoor dat uw wiki-farm is geconfigureerd met behulp van de tabel sites of $wgConf (zie #Setup). Ook $wgCentralAuthLoginWiki en $wgLocalDatabases moeten worden ingesteld. Andere delen van CentralAuth zijn enigszins tolerant als dit ontbreekt, maar SUL3 zal crashen.
    • Dit is zelfs nodig bij het opzetten van een lokale omgeving voor ontwikkeling met slechts één wiki, maar het kan sterk worden vereenvoudigd, zie hieronder.
  2. Configureer uw server zo dat deze een van uw wiki's onder een ander domein bedient. Als u SUL2 had geconfigureerd, gebruik dan de inlogwiki, anders kiest u er gewoon een.
    • Als u een lokale omgeving opzet voor ontwikkeling, en u host uw enige wiki op http://localhost (optioneel met een port), houd er dan rekening mee dat alle localhost-subdomeinen naar uw machine worden omgezet, zodat u bijvoorbeeld http://auth.localhost en http://wiki.localhost kunt gaan gebruiken zonder dat er enige configuratie nodig is.
  3. Stel $wgCentralAuthSharedDomainCallback in om uw nieuwe domein terug te geven. Merk op dat dit een callback functie is, dus geen string.
  4. Stel $wgCentralAuthEnableSul3 = true; in

Misschien moet u een aantal MediaWiki-instellingen aanpassen om dit te ondersteunen:

  • $wgServer en $wgCanonicalServer moeten voorwaardelijk worden ingesteld op het auth-domain bij het openen van uw wiki via het auth-domain, anders krijgt u een doorverwijzingslus wanneer u probeert in te loggen. CentralAuth leest de "echte" canonieke server van de wiki farm-configuratie die in stap 1 is gedefinieerd.
  • Om meer dan één wiki van het auth-domain te bedienen, past u $wgCentralAuthSharedDomainCallback aan om een pad-voorvoegsel toe te voegen na de domeinnaam dat afhankelijk is van de wiki, configureert u uw server om de juiste wiki te bedienen, afhankelijk van dat voorvoegsel, en past u $wgScriptPath, $wgArticlePath etc. voorwaardelijk aan om overeen te komen. Dit is lastig om goed te krijgen, dus als u een lokale omgeving voor ontwikkeling opzet, hoeft u zich geen zorgen te maken.
  • Controleer uw MediaWiki-cookie-instellingen om er zeker van te zijn dat de wiki cookies kan instellen wanneer deze wordt geopend via het auth-domain, en dat ze niet in strijd zijn met de normale cookies van de wiki. Het voorwaardelijk instellen van $wgCentralAuthCookiePrefix bij toegang tot uw wiki via het auth-domain is een goede manier om conflicten met cookienamen te voorkomen.

Hieronder vindt u een minimale configuratie om CentralAuth met SUL3 uit te voeren op een single-wiki "farm" op uw ontwikkelmachine:

// Minimale set-up voor een single-wiki "farm"
$wgConf->wikis = [ $wgDBname ];
$wgConf->suffixes[] = '';
$wgConf->settings = [
	'wgServer' => [ 'default' => 'http://wiki.localhost:8080' ],
	'wgArticlePath' => [ 'default' => '/wiki/$1' ],
];
// Overige instellingen die nodig zijn voor CentralAuth
$wgCentralAuthLoginWiki = $wgDBname;
$wgLocalDatabases = [ $wgDBname ];

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

// $wgServer laten wijzen naar het domein waarmee de wiki is geopend
$wgCanonicalServer = $wgServer = MediaWiki\Request\WebRequest::detectServer( true );
if ( $wgServer === 'http://auth.localhost:8080' ) {
	// Hier komt de voorwaardelijke configuratie voor het gedeelde auth-domain
}

Cache problemen

When using CentralAuth, different wikis must share the same MainCache (to allow purging of cached cross-wiki data such as global edit counts), the same session store (the store $wgCentralAuthSessionCacheType points to) , and the same MicroStash (for centralauthtoken).

Voor optimale resultaten wordt aanbevolen memcached of een meer persistente cache te gebruiken. Als u maar één server heeft, dan werkt APCU als een centrale cache via CACHE_ACCEL.

Standaard gebruikt CACHE_DB de tabel objectcache in de lokale database of elke wiki in uw wiki-farm. Om dit te laten werken met CentralAuth, moeten we de wiki's vertellen om een centrale cache-tabel te gebruiken. Als u geen cache heeft ingesteld (d.w.z. $wgMainCacheType is CACHE_NONE) of CACHE_DB gebruikt, dan moet u ervoor zorgen CACHE_DB te configureren om dezelfde database te gebruiken in alle wiki's (waarbij centralauth de naam is van de CentralAuth-database zoals geconfigureerd via $wgVirtualDomainsMapping['virtual-centralauth']):

$wgObjectCaches[CACHE_DB] = [
	'class' => SqlBagOStuff::class,
	'loggroup' => 'SQLBagOStuff',
	'server' => [
		'type' => $wgDBtype,
		'host' => $wgDBserver,
		'user' => $wgDBuser,
		'password' => $wgDBpassword,
		// of welke database u gebruikt voor centrale gegevens
		'dbname' => 'centralauth',
	]
];
$wgSessionCacheType = CACHE_DB;

You have to create this table yourself, because objectcache is not (yet) a virtual domain and so is cannot be created by maintenance/update.php. Run the following via maintenance/sql.php to create the table (where "enwiki" is one of your wiki databases):

CREATE TABLE centralauth.objectcache LIKE enwiki.objectcache;

HTTP en HTTPS

Sinds 2023 ondersteunt CentralAuth geen mixed-protocol HTTP/HTTPS wiki's, alleen pure-HTTPS-wiki's (met $wgForceHTTPS ingesteld op true) en pure-HTTP-wiki's (primair voor lokaal testen). (phab:T348852)

Database Virtuele Domeinen Koppelen

Sinds MediaWiki 1.41 kunt u database virtueel domeinen koppelen configureren voor CentralAuth, en deze vervangen $wgCentralAuthDatabase. Om virtuele domeinen te koppelen met CentralAuth, gebruik:

// 'centralauth' is de naam van de database CentralAuth.
$wgVirtualDomainsMapping['virtual-centralauth'] = [ 'db' => 'centralauth' ];

Configuratie

Configuratie instellingen in extension.json gedeelte Config
parameter standaardwaarde opmerkingen
(deprecated) $wgCentralAuthDatabase null Database naam waarin de centrale auth-gegevens staan.

Als dit niet op de primaire databaseverbinding is, vergeet dan niet om $wgDBservers te instellen om een entry te hebben met een groupLoads instelling voor de groep 'CentralAuth'. Als alternatief kunt u $wgLBFactoryConf gebruiken om een object LBFactoryMulti in te stellen.

Om een database met een tabelprefix te gebruiken, stel deze variabele op "{$database}-{$prefix}".

Deze instelling wordt ontraden, gebruik virtuele domeinen koppelen (virtual domains mapping) zoals hierboven beschreven.
$wgCentralAuthAutoMigrate false Als true, worden bestaande niet-gelieerde accounts automatisch overgezet indien mogelijk bij de eerste login.

Alle nieuwe accounts moeten worden bijgevoegd.

Als false, niet-gelieerde accounts niet worden lastiggevallen tenzij het individuele account heeft gekozen voor migratie.

$wgCentralAuthAutoMigrateNonGlobalAccounts false Als true, bestaande niet-gelieerde accounts waar geen globaal account bestaat, worden vergeleken om te zien of een fusie kan worden gemaakt op basis van wachtwoorden en e-mails zonder botsingen (alle accounts worden samengevoegd).

Dit werd eerder beheerd met $wgCentralAuthAutoMigrate

$wgCentralAuthStrict false Als true, een resterend account dat niet is samengevoegd / overgezet wordt verboden in te loggen totdat het probleem is opgelost.
$wgCentralAuthDryRun false Als true, samenvoegen is niet mogelijk via de Special:MergeAccount interface.
$wgCentralAuthCookies false Als true, de globale sessie- en tokencookies worden geplaatst naast de per-wiki sessie-en login-tokens wanneer gebruikers zich aanmelden met een globaal account.

Dit stelt andere wiki's op hetzelfde domein in staat om ze transparant in te loggen.

$wgCentralAuthLoginWiki false Database naam van een centrale login wiki. Dit is een alternatief voor het rechtstreeks instellen van cross-domain cookies voor elke wiki in $wgCentralAuthAutoLoginWikis. Als het is ingesteld, zal een enkele-login wiki een sessie/cookie gebruiken om geunificeerde login sessies over wiki's te beheren.

Bij inloggen worden gebruikers doorverwezen naar de pagina Special:CentralLogin/login van de login wiki en vervolgens terug naar Special:CentralLogin op de oorspronkelijke wiki. In het proces worden het centrale login-wiki cookie en de sessie ingesteld. Als de gebruiker toegang zoekt naar een andere wiki, wordt de login wiki via JavaScript gecontroleerd om de inlogstatus te controleren en de lokale sessie en cookies te instellen.

Hiervoor is $wgCentralAuthCookies.

$wgCentralAuthSharedDomainCallback false Callback waaraan een wiki-ID moet worden doorgegeven en het URL-voorvoegsel voor het gedeelde verificatiedomein wordt geretourneerd zonder een slash aan het einde. Dit moet hetzelfde domein en schema gebruiken op elke wiki van de CentralAuth wiki-farm, met een pad-prefix dat de gegeven wiki specifiek maakt. Een lokale URL die aan dit prefix wordt toegevoegd, moet op dezelfde manier worden geleid als een lokale URL op de huidige wiki. Dit wordt gebruikt om een centrale cookie tussen wiki's te delen en tegelijkertijd de cookie-gerelateerde gebruikersinterface (zoals de inlog- en aanmeldpagina) te laten gedragen als een specifieke wiki in de farm. Indien deze niet wordt ingesteld, wordt dit mechanisme niet gebruikt.
$wgCentralAuthEnableSul3 false De modus SUL3 inschakelen. Hierdoor moet $wgCentralAuthSharedDomainCallback eerst worden ingesteld.
$wgCentralAuthRestrictSharedDomain false Beperkt de wiki-functionaliteit tot authenticatie wanneer het huidige domein overeenkomt met het domein van CentralAuthSharedDomainCallback. Inschakelen bij het gebruik van een gedeeld login-domein. Uitschakelen wanneer het inlogdomein een zelfstandige wiki is.
$wgCentralAuthSul3SharedDomainRestrictions complex array Aanvullende toegestane/niet toegestane functies op het centrale login domein SUL3. Standaarden worden opgeslagen in SharedDomainHookHandler::DEFAULT_RESTRICTIONS.
$wgCentralAuthCookieDomain '' Domein waarvoor globale cookies worden ingesteld.

Bijvoorbeeld, '.wikipedia.org' om te werken op alle wikipedia.org subdomainen in plaats van alleen de huidige. Laat dit leeg om de cookie alleen voor het huidige domein in te stellen, bijvoorbeeld als alle wiki's op hetzelfde subdomein worden gehost.

Dit werkt niet in SUL3 . Zie phab:T391358 voor meer details.
$wgCentralAuthCookiePrefix 'centralauth_' Prefix voor de globale authenticatiecookies van CentralAuth.
$wgCentralAuthCookiePath '/' Pad voor de globale authenticatiecookies van CentralAuth. Stel deze variabele in als u cookies wilt beperken tot een bepaald pad binnen het door $wgCentralAuthCookieDomain gespecificeerde domein.
$wgCentralAuthAutoLoginWikis [] Lijst van wiki-ID's die bij het inloggen moeten worden aangeroepen om te proberen cookies van derden voor de globale sessie-staat te instellen.

De wiki-ID is meestal de naam van de database, behalve wanneer tabel-prefixen worden gebruikt, in welk geval het de database naam, een streepje en dan de tabel-prefix is.

Dit stelt een farm met meerdere second-level domeinen in staat om een globale sessie op te zetten op allemaal door op één wiki van elk domein te klikken (en.wikipedia.org, en.wikinews.org, enz.).

Dit gebeurt door op elke wiki Special:CentralAutoLogin/start te benaderen.

Als het leeg is, worden er geen andere wiki's geprobeerd.

De key moet worden ingesteld op de cookie domeinnaam.

$wgCentralAuthAutoCreateWikis [] Lijst met wiki-ID's waarop automatisch een bijgevoegd lokaal account moet worden aangemaakt wanneer het globale account wordt aangemaakt.

De wiki-ID is meestal de naam van de database, behalve wanneer tabel-prefixen worden gebruikt, in welk geval het de database naam, een streepje en dan de tabel-prefix is.

$wgCentralAuthLoginIcon false Het lokale pad naar het pictogram dat door Special:CentralAutoLogin wordt teruggegeven. Het pictogram moet een PNG van 20x20px zijn.
$wgCentralAuthPrefsForUIReload [ 'skin', 'language', 'thumbsize', 'underline', 'stubthreshold', 'showhiddencats', 'justify', 'numberheadings', 'editondblclick', 'editsection', 'editsectiononrightclick', 'usenewrc', 'extendwatchlist' ] Gebruikersvoorkeuren waarvoor we de pagina na een succesvolle centrale login opnieuw moeten laden.

Als u iets ingewikkelder moet doen dan $userOptionsLookup->getOption( $user, $pref ) !== $userOptionsLookup->getDefaultOption( $pref ), gebruik dan de hook CentralAuthIsUIReloadRecommended.

$wgCentralAuthRC [] Array van instellingen voor het verzenden van de CentralAuth-gebeurtenissen naar de RC Feeds.

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

$wgCentralAuthWikisPerSuppressJob 10 Grootte van wiki's die in één user job worden behandeld. Houd er rekening mee dat een wiki ~10 queries nodig heeft.
$wgCentralAuthReadOnly false Zoals $wgReadOnly gebruikt om de extensie in te stellen op de database alleen-lezen modus.

@var bool

$wgCentralAuthEnableGlobalRenameRequest false Functie vlag voor Special:GlobalRenameRequest.

@var bool

$wgCentralAuthGlobalPasswordPolicies [] Globaal wachtwoord beleid. Deze worden toegepast als lokale wachtwoordbeleid, het sterkste beleid dat van toepassing is op een gebruiker wordt gebruikt. Beleid kan gelden voor een lokale groep (als de gebruiker lid is van die groep op een wiki, zal het beleid gelden voor die gebruiker) of een globale groep.

@var array

$wgGlobalRenameDenylist null Een lijst met gebruikers die geen nieuwe algemene hernoemingsverzoeken mogen doen via Special:GlobalRenameRequest.

Er zijn twee manieren om het in te stellen:

  • Gebruik een wiki-pagina: gebruik een object Title om een wiki- pagina (MediaWiki:GlobalRenameDenylist bijvoorbeeld) te hebben als de verboden lijst. De wiki-pagina moet een lijst zijn met één item per rij, en moet bestaan, anders zal Special:GlobalRenameRequest een MWException geven.
    Voorbeeld: $wgGlobalRenameDenylist = Title::makeTitle( NS_MEDIAWIKI, 'GlobalRenameDenylist' );.
  • Gebruik van een URL: plaats een volledige URL die moet terugkeren, met HTTP, een platte-tekst lijst van de verboden gebruikers (en niets anders).
    Bijvoorbeeld met een URL die naar een wiki-pagina wijst: $wgGlobalRenameDenylist = "https://yourwiki/yourpath/index.php?title=MediaWiki:GlobalRenameDenylist&action=raw";

U kunt de exacte namen of reguliere expressies gebruiken.

@var Title|string|null

$wgCentralAuthGlobalBlockInterwikiPrefix "global" Bij het globaal onderdrukken van een gebruiker wordt een blok tegen deze gebruiker in alle wiki's ingevoegd. CentralAuth stelt de auteur van deze blokken in als $wgCentralAuthGlobalBlockInterwikiPrefix>(bijnaam-van-de-gebruiker-die-de-onderdrukking heeft gemaakt). Bijvoorbeeld, als $wgCentralAuthGlobalBlockInterwikiPrefix = "Admins";, en Joe onderdrukt John, alle wiki's zullen in BlockList een blok tegen John tonen gemaakt door Admins>Joe.

@var string

Gebruik

Maakt een single-user login (SUL) systeem mogelijk met behulp van MediaWiki's AuthPlugin systeem. Het aanmaken en inloggen van gebruikers gebeurt globaal met behulp van één centrale gebruikerstabel op alle wiki's. Houd er echter rekening mee dat lokale gebruikersaccounts automatisch worden aangemaakt bij het aanmaken/inloggen van een account.

Deze extensie implementeert ook globale gebruikersgroepen, waartoe globale accounts kunnen behoren.

Gebruikersrechten

CentralAuth definieert verschillende nieuwe gebruikersrechten:

Gebruikersrecht Beschrijving Standaardgroep Status
centralauth-createlocal Geforceerd een lokaal account maken voor een globaal account Stewards en sysops Actief in MW 1.36+
centralauth-lock Voorkomen dat gebruikers inloggen op een wiki Stewards Actief
centralauth-suppress Onderdrukken / weergeven van globale accounts Stewards Actief
centralauth-rename Globale gebruikers hernoemen Stewards Actief
centralauth-unmerge Globale accounts afsplitsen een lokaal account Stewards Actief
centralauth-merge Alle accounts van CentralAuth globaal samenvoegen Alle gebruikers Actief; meestal automatisch
globalgrouppermissions Rechten van globale groepen beheren Globale stewards Actief; niet standaard aan lokale stewards toegewezen
globalgroupmembership Lidmaatschap van globale groepen bewerken Globale stewards Actief; niet standaard aan lokale stewards toegewezen

Functies

Single-user login (SUL)

Een gebruiker met een account op meer dan één wiki kan Special:MergeAccount gebruiken om zijn globale gebruikersaccount te maken, dat vervolgens op elke wiki kan worden gebruikt. Gebruikers met het recht centralauth-unmerge (standaard verleend aan stewards) kunnen het samenvoegen van een globaal account annuleren, waarbij alle wachtwoorden worden hersteld naar de waarden voor het samenvoegen. Gebruikersaccounts kunnen nu ook globaal een andere naam krijgen.

Blokkeren en verbergen globale gebruikers

Schermafbeelding van de interface van Special:CentralAuth op MetaWiki, met de interface van blokkeren/verbergen.

Een globaal account kan worden geblokkeerd of verborgen door een gebruiker met respectievelijk het recht centralauth-lock en centralauth-suppress, die standaard worden gegeven aan de lokale groep 'stewards'. Een geblokkeerd globaal account wordt onmiddellijk uitgelogd van elke sessie op elke wiki waar die nu is aangemeld. De gebruikersnaam van een verborgen globaal account is niet zichtbaar in andere logs dan de globale accountslog.

Wiki sets

Een wiki set is een groep wiki's die door een gebruiker is gespecificeerd met het recht globalgrouppermissions. Sets kunnen opt-in zijn (wiki's staan er standaard niet in) of opt-out (wiki's staan erin, tenzij ze zich afmelden).

Globale gebruikersgroepen

Zodra u globale gebruikersgroepen heeft ingeschakeld zoals beschreven in het installatie-deel, kan een migrerende steward de interface Special:GlobalGroupPermissions gebruiken om globale gebruiksgroepen en hun rechten te configureren. Een globale gebruikersgroep is standaard actief op alle wiki's (de gebruikers daarin hebben hun rechten op alle wiki's), tenzij de groep is gespecificeerd om alleen actief te zijn op een specifieke wiki-set (de gebruiker in de groep heeft alleen de rechten als ze zich op een wiki in de set bevinden). Globale groepsrechten worden niet getoond op Special:ListUsers, maar op Special:GlobalUsers. Ze worden toegewezen door een gebruiker met het recht globalgroupmembership (standaard de globale groep stewards), en geven de gespecificeerde rechten aan de gebruiker, zelfs als de lokale rechten die door $wgGroupPermissions worden gedefinieerd, dit niet doen.

Account verwijderen

Licentie en downloaden

De extensie is beschikbaar onder de GNU General Public License 2.0 of hoger, en kan worden gedownload van Git, of benaderd via de web-based viewer.

De software wordt geleverd zoals deze is. Updates worden gemaakt volgens de behoeften van Wikimedia wiki's; of waar kritieke kwetsbaarheden worden ontdekt.

API

Zie Extension:CentralAuth/API .

Referenties

Zie ook