CINXE.COM

Extension:CentralAuth - MediaWiki

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-disabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Extension:CentralAuth - MediaWiki</title> <script>(function(){var className="client-js vector-feature-language-in-header-disabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )mediawikiwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""], "wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"4699851a-d806-40ea-9e78-8a28a4536c05","wgCanonicalNamespace":"Extension","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":102,"wgPageName":"Extension:CentralAuth","wgTitle":"CentralAuth","wgCurRevisionId":6769242,"wgRevisionId":6769242,"wgArticleId":10891,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Extensions with release branches compatibility policy","Stable extensions","User identity extensions","Database extensions","Special page extensions","API extensions","GPL licensed extensions","Extensions in Wikimedia version control","APIGetAllowedParams extensions","AbuseFilter-builder extensions","AbuseFilter-computeVariable extensions","AbuseFilter-generateUserVars extensions","AbuseFilterAlterVariables extensions", "AbuseFilterShouldFilterAction extensions","ApiCheckCanExecute extensions","ApiQueryTokensRegisterTypes extensions","AuthChangeFormFields extensions","AuthManagerFilterProviders extensions","AuthManagerVerifyAuthentication extensions","AuthPreserveQueryParams extensions","AutopromoteCondition extensions","BeforePageDisplay extensions","ContentSecurityPolicyDefaultSource extensions","ContentSecurityPolicyScriptSource extensions","ContributionsToolLinks extensions","GetLocalURL extensions","GetLogTypesOnUser extensions","GetPreferences extensions","GetUserBlock extensions","ImportHandleUnknownUser extensions","InvalidateEmailComplete extensions","LoadExtensionSchemaUpdates extensions","LocalUserCreated extensions","LogEventsListGetExtraInputs extensions","MakeGlobalVariablesScript extensions","OtherBlockLogLink extensions","PasswordPoliciesForUser extensions","PostLoginRedirect extensions","RenameUserComplete extensions","RenameUserPreRename extensions","RenameUserWarning extensions", "ResourceLoaderForeignApiModules extensions","ResourceLoaderModifyEmbeddedSourceUrls extensions","SecurePoll GetUserParams extensions","SessionCheckInfo extensions","SetupAfterCache extensions","SpecialContributionsBeforeMainOutput extensions","SpecialLogAddLogSearchRelations extensions","SpecialPageBeforeExecute extensions","SpecialPage initList extensions","SpecialPasswordResetOnSubmit extensions","TempUserCreatedRedirect extensions","TestCanonicalRedirect extensions","UnitTestsAfterDatabaseSetup extensions","UnitTestsBeforeDatabaseTeardown extensions","UserArrayFromResult extensions","UserEditCountUpdate extensions","UserGetEmail extensions","UserGetEmailAuthenticationTimestamp extensions","UserGetReservedNames extensions","UserGetRights extensions","UserIsBot extensions","UserIsLocked extensions","UserLoginComplete extensions","UserLogout extensions","UserLogoutComplete extensions","UserSaveSettings extensions","UserSetEmail extensions", "UserSetEmailAuthenticationTimestamp extensions","GetUserPermissionsErrors extensions","GetUserPermissionsErrorsExpensive extensions","All extensions","Extensions used on Wikimedia","Extensions included in Miraheze","Extensions included in Telepedia","Extensions included in WikiForge","CentralIdLookup providers","Login extensions"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Extension:CentralAuth","wgRelevantArticleId":10891,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":["autoconfirmed"],"wgRestrictionMove":["autoconfirmed"],"wgNoticeProject":"mediawiki","wgCiteReferencePreviewsActive":true,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true}, "wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":40000,"wgInternalRedirectTargetUrl":"/wiki/Extension:CentralAuth","wgTranslatePageTranslation":"source","wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"personal","wgULSisCompactLinksEnabled":true,"wgVector2022LanguageInHeader":false,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q8614493","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"]};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.translate.tag.languages":"ready","ext.cite.styles":"ready","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.translate.edit.documentation.styles":"ready","ext.translate": "ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.pt":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["mediawiki.action.view.redirect","ext.cite.ux-enhancements","ext.pygments.view","mediawiki.page.media","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.translate.pagetranslation.uls","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.compactlinks","ext.uls.interface","wikibase.client.vector-2022","ext.checkUser.clientHints","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.cite.styles%7Cext.pygments%2Ctranslate%2CwikimediaBadges%7Cext.translate.edit.documentation.styles%7Cext.translate.tag.languages%7Cext.uls.pt%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/1/10/CentralAuth_administration_demo_screenshot.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="1158"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/1/10/CentralAuth_administration_demo_screenshot.png"> <meta property="og:image:width" content="800"> <meta property="og:image:height" content="772"> <meta property="og:image:width" content="640"> <meta property="og:image:height" content="618"> <meta name="viewport" content="width=1120"> <meta property="og:site_name" content="MediaWiki"> <meta property="og:title" content="Extension:CentralAuth - MediaWiki"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//m.mediawiki.org/wiki/Extension:CentralAuth"> <link rel="apple-touch-icon" href="/static/apple-touch/mediawiki.png"> <link rel="icon" href="/static/favicon/mediawiki.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="MediaWiki (en)"> <link rel="EditURI" type="application/rsd+xml" href="//www.mediawiki.org/w/api.php?action=rsd"> <link rel="canonical" href="https://www.mediawiki.org/wiki/Extension:CentralAuth"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"> <link rel="alternate" type="application/atom+xml" title="MediaWiki Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-102 ns-subject page-Extension_CentralAuth rootpage-Extension_CentralAuth skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/MediaWiki" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-mw-download" class="mw-list-item"><a href="/wiki/Download"><span>Get MediaWiki</span></a></li><li id="n-mw-extensions" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Category:Extensions"><span>Get extensions</span></a></li><li id="n-blog-text" class="mw-list-item"><a href="https://techblog.wikimedia.org/"><span>Tech blog</span></a></li><li id="n-mw-contribute" class="mw-list-item"><a href="/wiki/Special:MyLanguage/How_to_contribute"><span>Contribute</span></a></li> </ul> </div> </div> <div id="p-support" class="vector-menu mw-portlet mw-portlet-support" > <div class="vector-menu-heading"> Support </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Help:Contents" title="The place to find out"><span>User help</span></a></li><li id="n-mw-faq" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Manual:FAQ"><span>FAQ</span></a></li><li id="n-mw-manual" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Manual:Contents"><span>Technical manual</span></a></li><li id="n-mw-supportdesk" class="mw-list-item"><a href="/wiki/Project:Support_desk"><span>Support desk</span></a></li><li id="n-mw-communication" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Communication"><span>Communication</span></a></li> </ul> </div> </div> <div id="p-development" class="vector-menu mw-portlet mw-portlet-development" > <div class="vector-menu-heading"> Development </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mw-developerportal" class="mw-list-item"><a href="https://developer.wikimedia.org/"><span>Developer portal</span></a></li><li id="n-svn-statistics" class="mw-list-item"><a href="/wiki/Development_statistics"><span>Code statistics</span></a></li> </ul> </div> </div> <div id="p-mediawiki.org" class="vector-menu mw-portlet mw-portlet-mediawiki_org" > <div class="vector-menu-heading"> mediawiki.org </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-portal" class="mw-list-item"><a href="/wiki/Project:Help" title="About the project, what you can do, where to find things"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes in the wiki [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-mw-translate" class="mw-list-item"><a href="/wiki/Special:LanguageStats"><span>Translate content</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Load a random page [x]" accesskey="x"><span>Random page</span></a></li><li id="n-mw-discussion" class="mw-list-item"><a href="/wiki/Project:Village_Pump"><span>Village pump</span></a></li><li id="n-Sandboxlink-portlet-label" class="mw-list-item"><a href="/wiki/Project:Sandbox"><span>Sandbox</span></a></li> </ul> </div> </div> <div id="p-lang" class="vector-menu mw-portlet mw-portlet-lang" > <div class="vector-menu-heading"> In other languages </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-en mw-list-item"><a href="https://en.wikipedia.org/wiki/Help:CentralAuth" title="Help:CentralAuth – English" lang="en" hreflang="en" data-title="Help:CentralAuth" data-language-autonym="English" data-language-local-name="English" class="interlanguage-link-target"><span>English</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Hjelp:Globale_brukernavn" title="Hjelp:Globale brukernavn – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="Hjelp:Globale brukernavn" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegian Bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q8614493#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/MediaWiki" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/mediawikiwiki.svg" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="MediaWiki" src="/static/images/mobile/copyright/mediawikiwiki-wordmark.svg" style="width: 7.5em; height: 1.125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search MediaWiki [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search MediaWiki" aria-label="Search MediaWiki" autocapitalize="sentences" title="Search MediaWiki [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-uls" class="mw-list-item active user-links-collapsible-item"><a data-mw="interface" href="#" class="uls-trigger cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>English</span></a> </li> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=spontaneous&amp;uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&amp;returnto=Extension%3ACentralAuth" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&amp;returnto=Extension%3ACentralAuth" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="More options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=spontaneous&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=Extension%3ACentralAuth" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Extension%3ACentralAuth" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">Beginning</div> </a> </li> <li id="toc-Installation" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Installation"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Installation</span> </div> </a> <button aria-controls="toc-Installation-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Installation subsection</span> </button> <ul id="toc-Installation-sublist" class="vector-toc-list"> <li id="toc-Create_a_new_database" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Create_a_new_database"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.1</span> <span>Create a new database</span> </div> </a> <ul id="toc-Create_a_new_database-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Run_maintenance_scripts" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Run_maintenance_scripts"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.2</span> <span>Run maintenance scripts</span> </div> </a> <ul id="toc-Run_maintenance_scripts-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Upgrading" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Upgrading"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.3</span> <span>Upgrading</span> </div> </a> <ul id="toc-Upgrading-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Setup" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Setup"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Setup</span> </div> </a> <button aria-controls="toc-Setup-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Setup subsection</span> </button> <ul id="toc-Setup-sublist" class="vector-toc-list"> <li id="toc-&quot;SUL2&quot;_behavior" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#&quot;SUL2&quot;_behavior"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.1</span> <span>"SUL2" behavior</span> </div> </a> <ul id="toc-&quot;SUL2&quot;_behavior-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Cache_issues" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Cache_issues"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.2</span> <span>Cache issues</span> </div> </a> <ul id="toc-Cache_issues-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-HTTP_and_HTTPS" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#HTTP_and_HTTPS"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.3</span> <span>HTTP and HTTPS</span> </div> </a> <ul id="toc-HTTP_and_HTTPS-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Configuration" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Configuration"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.4</span> <span>Configuration</span> </div> </a> <ul id="toc-Configuration-sublist" class="vector-toc-list"> <li id="toc-Database_Virtual_Domains_Mapping" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Database_Virtual_Domains_Mapping"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.4.1</span> <span>Database Virtual Domains Mapping</span> </div> </a> <ul id="toc-Database_Virtual_Domains_Mapping-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> </ul> </li> <li id="toc-Use" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Use"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Use</span> </div> </a> <button aria-controls="toc-Use-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Use subsection</span> </button> <ul id="toc-Use-sublist" class="vector-toc-list"> <li id="toc-User_rights" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#User_rights"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1</span> <span>User rights</span> </div> </a> <ul id="toc-User_rights-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Functions" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Functions"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Functions</span> </div> </a> <button aria-controls="toc-Functions-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Functions subsection</span> </button> <ul id="toc-Functions-sublist" class="vector-toc-list"> <li id="toc-Single-user_login_(SUL)" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Single-user_login_(SUL)"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.1</span> <span>Single-user login (SUL)</span> </div> </a> <ul id="toc-Single-user_login_(SUL)-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Locking_and_hiding_global_users" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Locking_and_hiding_global_users"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.2</span> <span>Locking and hiding global users</span> </div> </a> <ul id="toc-Locking_and_hiding_global_users-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Wiki_sets" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Wiki_sets"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.3</span> <span>Wiki sets</span> </div> </a> <ul id="toc-Wiki_sets-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Global_user_groups" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Global_user_groups"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.4</span> <span>Global user groups</span> </div> </a> <ul id="toc-Global_user_groups-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Licensing_and_downloads" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Licensing_and_downloads"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Licensing and downloads</span> </div> </a> <ul id="toc-Licensing_and_downloads-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-API" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#API"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>API</span> </div> </a> <ul id="toc-API-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-namespace">Extension</span><span class="mw-page-title-separator">:</span><span class="mw-page-title-main">CentralAuth</span></h1> <div class="mw-indicators"> <div id="mw-indicator-phabricator-project" class="mw-indicator"><div class="mw-parser-output"><div class="mw-parser-output"><style data-mw-deduplicate="TemplateStyles:r6605561">.mw-parser-output .tpl-badge{background-color:var(--background-color-progressive-subtle,#eaf3ff);color:var(--color-base,#202122);border-radius:10px;display:inline-block;font-size:90%;padding:5px 8px}</style><div class="tpl-badge"><a href="/wiki/Special:MyLanguage/Phabricator" title="Special:MyLanguage/Phabricator">Issue tracker</a>: <a href="https://phabricator.wikimedia.org/tag/mediawiki-extensions-centralauth/" class="extiw" title="phab:tag/mediawiki-extensions-centralauth/"><b>#MediaWiki-extensions-CentralAuth</b></a></div></div></div></div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-extension" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Extension:CentralAuth" title="View the subject page [c]" accesskey="c"><span>Extension</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Extension_talk:CentralAuth" rel="discussion" title="Discussion about the content page [t]" accesskey="t"><span>Discussion</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Extension:CentralAuth"><span>Read</span></a></li><li id="ca-viewsource" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Extension:CentralAuth&amp;action=edit" title="This page is protected.&#10;You can view its source [e]" accesskey="e"><span>View source</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Extension:CentralAuth&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Extension:CentralAuth"><span>Read</span></a></li><li id="ca-more-viewsource" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Extension:CentralAuth&amp;action=edit"><span>View source</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Extension:CentralAuth&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Extension:CentralAuth" title="A list of all wiki pages that link here [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Extension:CentralAuth" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="//commons.wikimedia.org/wiki/Special:UploadWizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Extension:CentralAuth&amp;oldid=6769242" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Extension:CentralAuth&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=Extension%3ACentralAuth&amp;id=6769242&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FExtension%3ACentralAuth"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FExtension%3ACentralAuth"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-create_a_book" class="mw-list-item"><a href="/w/index.php?title=Special:Book&amp;bookcmd=book_creator&amp;referer=Extension%3ACentralAuth"><span>Create a book</span></a></li><li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=Extension%3ACentralAuth&amp;action=show-download-screen"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Extension:CentralAuth&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:CentralAuth" hreflang="en"><span>Wikimedia Commons</span></a></li><li class="wb-otherproject-link wb-otherproject-wikipedia mw-list-item"><a href="https://en.wikipedia.org/wiki/Help:CentralAuth" hreflang="en"><span>Wikipedia</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q8614493" title="Link to connected data repository item [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div id="siteSub" class="noprint">From mediawiki.org</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-pt-translate-header noprint nomobile" dir="ltr" lang="en"><a href="/w/index.php?title=Special:Translate&amp;group=page-Extension%3ACentralAuth&amp;action=page&amp;filter=&amp;action_source=translate_page" title="Special:Translate">Translate this page</a></div><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="mw-pt-languages noprint navigation-not-searchable" lang="en" dir="ltr"><div class="mw-pt-languages-label">Languages:</div><ul class="mw-pt-languages-list"><li><a href="/wiki/Extension:CentralAuth/id" class="mw-pt-progress mw-pt-progress--low" title="Ekstensi:CentralAuth (12% translated)" lang="id" dir="ltr">Bahasa Indonesia</a></li> <li><a href="/wiki/Extension:CentralAuth/de" class="mw-pt-progress mw-pt-progress--high" title="Erweiterung:CentralAuth (92% translated)" lang="de" dir="ltr">Deutsch</a></li> <li><span class="mw-pt-languages-ui mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete" lang="en" dir="ltr">English</span></li> <li><a href="/wiki/Extension:CentralAuth/nl" class="mw-pt-progress mw-pt-progress--complete" title="Extension:CentralAuth/nl (100% translated)" lang="nl" dir="ltr">Nederlands</a></li> <li><a href="/wiki/Extension:CentralAuth/tr" class="mw-pt-progress mw-pt-progress--high" title="Extension:CentralAuth (77% translated)" lang="tr" dir="ltr">Türkçe</a></li> <li><a href="/wiki/Extension:CentralAuth/es" class="mw-pt-progress mw-pt-progress--low" title="Extensión:CentralAuth (8% translated)" lang="es" dir="ltr">español</a></li> <li><a href="/wiki/Extension:CentralAuth/fr" class="mw-pt-progress mw-pt-progress--high" title="Extension:CentralAuth (98% translated)" lang="fr" dir="ltr">français</a></li> <li><a href="/wiki/Extension:CentralAuth/hu" class="mw-pt-progress mw-pt-progress--low" title="Extension:CentralAuth (7% translated)" lang="hu" dir="ltr">magyar</a></li> <li><a href="/wiki/Extension:CentralAuth/pl" class="mw-pt-progress mw-pt-progress--low" title="Extension:CentralAuth/pl (2% translated)" lang="pl" dir="ltr">polski</a></li> <li><a href="/wiki/Extension:CentralAuth/pt" class="mw-pt-progress mw-pt-progress--low" title="Extensão:CentralAuth (14% translated)" lang="pt" dir="ltr">português</a></li> <li><a href="/wiki/Extension:CentralAuth/pt-br" class="mw-pt-progress mw-pt-progress--med" title="Extensão:CentralAuth (38% translated)" lang="pt-BR" dir="ltr">português do Brasil</a></li> <li><a href="/wiki/Extension:CentralAuth/fi" class="mw-pt-progress mw-pt-progress--med" title="Laajennus:CentralAuth (23% translated)" lang="fi" dir="ltr">suomi</a></li> <li><a href="/wiki/Extension:CentralAuth/sv" class="mw-pt-progress mw-pt-progress--low" title="Tillägg:CentralAuth (1% translated)" lang="sv" dir="ltr">svenska</a></li> <li><a href="/wiki/Extension:CentralAuth/cs" class="mw-pt-progress mw-pt-progress--high" title="Rozšíření:CentralAuth (97% translated)" lang="cs" dir="ltr">čeština</a></li> <li><a href="/wiki/Extension:CentralAuth/ru" class="mw-pt-progress mw-pt-progress--med" title="Расширение:CentralAuth (30% translated)" lang="ru" dir="ltr">русский</a></li> <li><a href="/wiki/Extension:CentralAuth/uk" class="mw-pt-progress mw-pt-progress--med" title="Розширення:CentralAuth (24% translated)" lang="uk" dir="ltr">українська</a></li> <li><a href="/wiki/Extension:CentralAuth/ar" class="mw-pt-progress mw-pt-progress--med" title="امتداد:التصريح المركزي (29% translated)" lang="ar" dir="rtl">العربية</a></li> <li><a href="/wiki/Extension:CentralAuth/fa" class="mw-pt-progress mw-pt-progress--low" title="Extension:CentralAuth (0% translated)" lang="fa" dir="rtl">فارسی</a></li> <li><a href="/wiki/Extension:CentralAuth/hi" class="mw-pt-progress mw-pt-progress--low" title="Extension:CentralAuth/hi (2% translated)" lang="hi" dir="ltr">हिन्दी</a></li> <li><a href="/wiki/Extension:CentralAuth/bn" class="mw-pt-progress mw-pt-progress--low" title="Extension:CentralAuth/bn (1% translated)" lang="bn" dir="ltr">বাংলা</a></li> <li><a href="/wiki/Extension:CentralAuth/zh" class="mw-pt-progress mw-pt-progress--med" title="Extension:中央认证 (30% translated)" lang="zh" dir="ltr">中文</a></li> <li><a href="/wiki/Extension:CentralAuth/ja" class="mw-pt-progress mw-pt-progress--med" title="Extension:CentralAuth (43% translated)" lang="ja" dir="ltr">日本語</a></li></ul></div> <style data-mw-deduplicate="TemplateStyles:r6651102">.mw-parser-output .infobox{box-sizing:border-box;border:2px solid var(--border-color-base,#a2a9b1);width:280px;border-collapse:collapse;border-spacing:0;background-color:white;color:#333;clear:right;float:right;margin:0 0 0.5em 0.5em}.mw-parser-output .infobox-rtl{clear:left;float:left;margin:0 0.5em 0.5em 0}.mw-parser-output .infobox th{text-align:left;padding:0.2em 0.5em;vertical-align:top}.mw-parser-output .infobox-rtl th{text-align:right}@media(max-width:719px){body.mediawiki .mw-parser-output .infobox{float:none;clear:both;width:100%;margin:0 0 .5em 0}}.mw-parser-output .infobox td{border:none;padding:0.2em 0.5em;vertical-align:top}.mw-parser-output .infobox-header{background-color:#a2a9b1;color:#FFF;text-align:left}.mw-parser-output .infobox-header a{color:#FFF}.mw-parser-output .infobox-header td,.mw-parser-output .infobox-header th{padding:0.5em 0.5em}.mw-parser-output .infobox-header img{padding:0 0.2em 0 0.5em}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox{background-color:inherit;color:inherit}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox{background-color:inherit;color:inherit}}</style><style data-mw-deduplicate="TemplateStyles:r5577029">.mw-parser-output .ext-infobox>tbody>tr>td:first-child{vertical-align:top}.mw-parser-output .ext-infobox>tbody>tr>td abbr{white-space:nowrap}.mw-parser-output .ext-infobox .mw-collapsible-header,.mw-parser-output .ext-infobox .mw-collapsible-toggle{font-weight:bold}.mw-parser-output .ext-infobox .mw-collapsible-content{margin-top:.2em;padding-top:.2em}.mw-parser-output .ext-infobox-header>th,.mw-parser-output .ext-infobox caption,.mw-parser-output .ext-infobox-image,.mw-parser-output .ext-infobox-translate{text-align:center}.mw-parser-output .ext-infobox-name{font-size:130%;line-height:100%}.mw-parser-output .ext-infobox-type{min-width:7em}</style><style data-mw-deduplicate="TemplateStyles:r6424453">.mw-parser-output .ext-status-unstable,.mw-parser-output .ext-status-unstable td{border-color:#d33}.mw-parser-output .ext-status-unstable .ext-infobox-header{background-color:#d33;color:#fff}.mw-parser-output .ext-status-unstable .ext-infobox-header a{color:#fff}.mw-parser-output .ext-status-experimental,.mw-parser-output .ext-status-experimental td{border-color:#ff4500}.mw-parser-output .ext-status-experimental .ext-infobox-header{background-color:#ff4500;color:#FFF}.mw-parser-output .ext-status-experimental .ext-infobox-header a{color:#FFF}.mw-parser-output .ext-status-beta,.mw-parser-output .ext-status-beta td{border-color:#fc3}.mw-parser-output .ext-status-beta .ext-infobox-header{color:#000;background-color:#fc3}.mw-parser-output .ext-status-beta .ext-infobox-header a{color:#000}.mw-parser-output .ext-status-stable,.mw-parser-output .ext-status-stable td{border-color:#00af89}.mw-parser-output .ext-status-stable .ext-infobox-header{background-color:#068468;color:#FFF}.mw-parser-output .ext-status-stable .ext-infobox-header a{color:#fff}.mw-parser-output .ext-status-unmaintained,.mw-parser-output .ext-status-unmaintained td{border-color:#ac6600}.mw-parser-output .ext-status-unmaintained .ext-infobox-header{background-color:#ac6600;color:#FFF}.mw-parser-output .ext-status-unmaintained .ext-infobox-header a{color:#fff}</style> <table class="infobox infobox-ltr ext-infobox ext-status-stable"> <caption><b><a href="/wiki/Special:MyLanguage/Manual:Extensions" title="Special:MyLanguage/Manual:Extensions">MediaWiki extensions manual</a><span style="display:none"><a href="/wiki/Manual:Extensions" title="Manual:Extensions"> </a></span></b></caption> <tbody><tr class="infobox-header ext-infobox-header notheme"> <th colspan="2"><figure class="mw-halign-left" typeof="mw:File"><a href="/wiki/Special:MyLanguage/Template:Extension#Content" title="Special:MyLanguage/Template:Extension"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/1/1b/OOjs_UI_icon_advanced-invert.svg/40px-OOjs_UI_icon_advanced-invert.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/1/1b/OOjs_UI_icon_advanced-invert.svg/60px-OOjs_UI_icon_advanced-invert.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/1/1b/OOjs_UI_icon_advanced-invert.svg/80px-OOjs_UI_icon_advanced-invert.svg.png 2x" data-file-width="20" data-file-height="20" /></a><figcaption></figcaption></figure> <span class="ext-infobox-name">CentralAuth</span><br /> <a href="/wiki/Special:MyLanguage/Extension_status" title="Special:MyLanguage/Extension status">Release status:</a><span style="display:none"><a href="/wiki/Extension_status" title="Extension status"> </a></span> stable</th> </tr> <tr> <td colspan="2" class="ext-infobox-image"><span typeof="mw:File"><a href="/wiki/File:CentralAuth_administration_demo_screenshot.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/1/10/CentralAuth_administration_demo_screenshot.png/300px-CentralAuth_administration_demo_screenshot.png" decoding="async" width="300" height="290" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/1/10/CentralAuth_administration_demo_screenshot.png/450px-CentralAuth_administration_demo_screenshot.png 1.5x, //upload.wikimedia.org/wikipedia/commons/1/10/CentralAuth_administration_demo_screenshot.png 2x" data-file-width="487" data-file-height="470" /></a></span></td> </tr> <tr> <td class="ext-infobox-type"><b><a href="/wiki/Special:MyLanguage/Template:Extension#type" title="Special:MyLanguage/Template:Extension">Implementation</a><span style="display:none"><a href="/wiki/Template:Extension#type" title="Template:Extension"> </a></span></b></td> <td><a href="/wiki/Special:MyLanguage/Manual:Security" title="Special:MyLanguage/Manual:Security">User identity</a><span style="display:none"><a href="/wiki/Manual:Security" title="Manual:Security"> </a></span>, <a href="/wiki/Special:MyLanguage/Manual:Database_layout" title="Special:MyLanguage/Manual:Database layout">Database</a><span style="display:none"><a href="/wiki/Manual:Database_layout" title="Manual:Database layout"> </a></span>, <a href="/wiki/Special:MyLanguage/Manual:Special_pages" title="Special:MyLanguage/Manual:Special pages">Special page</a><span style="display:none"><a href="/wiki/Manual:Special_pages" title="Manual:Special pages"> </a></span>, <a href="/wiki/Special:MyLanguage/API:Action_API" title="Special:MyLanguage/API:Action API">API</a><span style="display:none"><a href="/wiki/API:Action_API" class="mw-redirect" title="API:Action API"> </a></span> </td></tr><tr> <td><b><a href="/wiki/Special:MyLanguage/Template:Extension#description" title="Special:MyLanguage/Template:Extension">Description</a><span style="display:none"><a href="/wiki/Template:Extension#description" title="Template:Extension"> </a></span></b></td> <td>Allows to merge accounts into global accounts</td> </tr> <tr> <td><b><a href="/wiki/Special:MyLanguage/Template:Extension#username" title="Special:MyLanguage/Template:Extension">Author(s)</a><span style="display:none"><a href="/wiki/Template:Extension#username" title="Template:Extension"> </a></span></b></td> <td><a href="/wiki/User:Brooke_Vibber" title="User:Brooke Vibber">Brooke Vibber</a><sup><a href="/wiki/User_talk:Brooke_Vibber" title="User talk:Brooke Vibber">talk</a></sup></td> </tr> <tr> <td><b><a href="/wiki/Special:MyLanguage/Compatibility#mediawiki_extensions" title="Special:MyLanguage/Compatibility">Compatibility policy</a><span style="display:none"><a href="/wiki/Compatibility#mediawiki_extensions" title="Compatibility"> </a></span></b></td> <td>Snapshots releases along with MediaWiki. Master is not backward compatible.</td> </tr> <tr> <td><a href="/wiki/Special:MyLanguage/Template:Extension#mediawiki" title="Special:MyLanguage/Template:Extension"><b>MediaWiki</b></a><span style="display:none"><a href="/wiki/Template:Extension#mediawiki" title="Template:Extension"> </a></span></td> <td>&gt;= 1.43</td> </tr> <tr> <td><a href="/wiki/Special:MyLanguage/Template:Extension#needs-updatephp" title="Special:MyLanguage/Template:Extension"><abbr title="&#39;php update.php&#39; needed after installation"><b>Database changes</b></abbr></a><span style="display:none"><a href="/wiki/Template:Extension#needs-updatephp" title="Template:Extension"> </a></span></td> <td>Yes</td> </tr> <tr> <td><b><a href="/wiki/Special:MyLanguage/Manual:$wgVirtualDomainsMapping" title="Special:MyLanguage/Manual:$wgVirtualDomainsMapping">Virtual domain</a><span style="display:none"><a href="/wiki/Manual:$wgVirtualDomainsMapping" title="Manual:$wgVirtualDomainsMapping"> </a></span></b></td> <td>virtual-centralauth</td> </tr> <tr> <td><b><a href="/wiki/Special:MyLanguage/Template:Extension#table1" title="Special:MyLanguage/Template:Extension">Tables</a><span style="display:none"><a href="/wiki/Template:Extension#table1" title="Template:Extension"> </a></span></b></td> <td><a href="/wiki/Special:MyLanguage/Extension:CentralAuth/globalnames_table" title="Special:MyLanguage/Extension:CentralAuth/globalnames table">globalnames</a><span style="display:none"><a href="/wiki/Extension:CentralAuth/globalnames_table" title="Extension:CentralAuth/globalnames table"> </a></span><br /><a href="/wiki/Special:MyLanguage/Extension:CentralAuth/localnames_table" title="Special:MyLanguage/Extension:CentralAuth/localnames table">localnames</a><span style="display:none"><a href="/wiki/Extension:CentralAuth/localnames_table" title="Extension:CentralAuth/localnames table"> </a></span><br /><a href="/wiki/Special:MyLanguage/Extension:CentralAuth/globaluser_table" title="Special:MyLanguage/Extension:CentralAuth/globaluser table">globaluser</a><span style="display:none"><a href="/wiki/Extension:CentralAuth/globaluser_table" title="Extension:CentralAuth/globaluser table"> </a></span><br /><a href="/wiki/Special:MyLanguage/Extension:CentralAuth/localuser_table" title="Special:MyLanguage/Extension:CentralAuth/localuser table">localuser</a><span style="display:none"><a href="/wiki/Extension:CentralAuth/localuser_table" title="Extension:CentralAuth/localuser table"> </a></span><br /><a href="/wiki/Special:MyLanguage/Extension:CentralAuth/global_user_groups_table" title="Special:MyLanguage/Extension:CentralAuth/global user groups table">global_user_groups</a><span style="display:none"><a href="/wiki/Extension:CentralAuth/global_user_groups_table" title="Extension:CentralAuth/global user groups table"> </a></span><br /><a href="/wiki/Special:MyLanguage/Extension:CentralAuth/global_group_permissions_table" title="Special:MyLanguage/Extension:CentralAuth/global group permissions table">global_group_permissions</a><span style="display:none"><a href="/wiki/Extension:CentralAuth/global_group_permissions_table" title="Extension:CentralAuth/global group permissions table"> </a></span><br /><a href="/wiki/Special:MyLanguage/Extension:CentralAuth/wikiset_table" title="Special:MyLanguage/Extension:CentralAuth/wikiset table">wikiset</a><span style="display:none"><a href="/wiki/Extension:CentralAuth/wikiset_table" title="Extension:CentralAuth/wikiset table"> </a></span><br /><a href="/wiki/Special:MyLanguage/Extension:CentralAuth/global_group_restrictions_table" title="Special:MyLanguage/Extension:CentralAuth/global group restrictions table">global_group_restrictions</a><span style="display:none"><a href="/wiki/Extension:CentralAuth/global_group_restrictions_table" title="Extension:CentralAuth/global group restrictions table"> </a></span><br /><a href="/wiki/Special:MyLanguage/Extension:CentralAuth/renameuser_status_table" title="Special:MyLanguage/Extension:CentralAuth/renameuser status table">renameuser_status</a><span style="display:none"><a href="/wiki/Extension:CentralAuth/renameuser_status_table" title="Extension:CentralAuth/renameuser status table"> </a></span><br /><a href="/wiki/Special:MyLanguage/Extension:CentralAuth/renameuser_queue_table" title="Special:MyLanguage/Extension:CentralAuth/renameuser queue table">renameuser_queue</a><span style="display:none"><a href="/wiki/Extension:CentralAuth/renameuser_queue_table" title="Extension:CentralAuth/renameuser queue table"> </a></span><br /><a href="/wiki/Special:MyLanguage/Extension:CentralAuth/users_to_rename_table" title="Special:MyLanguage/Extension:CentralAuth/users to rename table">users_to_rename</a><span style="display:none"><a href="/wiki/Extension:CentralAuth/users_to_rename_table" title="Extension:CentralAuth/users to rename table"> </a></span><br /><a href="/wiki/Special:MyLanguage/Extension:CentralAuth/global_edit_count_table" title="Special:MyLanguage/Extension:CentralAuth/global edit count table">global_edit_count</a><span style="display:none"><a href="/wiki/Extension:CentralAuth/global_edit_count_table" title="Extension:CentralAuth/global edit count table"> </a></span><br /><a href="/wiki/Special:MyLanguage/Extension:CentralAuth/global_user_autocreate_serial_table" title="Special:MyLanguage/Extension:CentralAuth/global user autocreate serial table">global_user_autocreate_serial</a><span style="display:none"><a href="/wiki/Extension:CentralAuth/global_user_autocreate_serial_table" title="Extension:CentralAuth/global user autocreate serial table"> </a></span></td> </tr> <tr> <td><b><a href="/wiki/Special:MyLanguage/Template:Extension#license" title="Special:MyLanguage/Template:Extension">License</a><span style="display:none"><a href="/wiki/Template:Extension#license" title="Template:Extension"> </a></span></b></td> <td><a rel="nofollow" class="external text" href="//www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html">GNU General Public License 2.0 or later</a></td> </tr><tr> <td><b>Download</b></td> <td><div class="plainlinks"><a href="/wiki/Special:ExtensionDistributor/CentralAuth" title="Special:ExtensionDistributor/CentralAuth"><b>Download extension</b></a> <br />Git <sup>[<a href="/wiki/Special:MyLanguage/Download_from_Git" title="Special:MyLanguage/Download from Git">?</a>]</sup>: <ul><li><span class="plainlinks"><a rel="nofollow" class="external text" href="https://github.com/wikimedia/mediawiki-extensions-CentralAuth/archive/master.tar.gz">Download Git master</a></span></li> <li><a href="https://gerrit.wikimedia.org/g/mediawiki/extensions/CentralAuth" class="extiw" title="git:mediawiki/extensions/CentralAuth">browse&#160;repository</a> (<a href="https://phabricator.wikimedia.org/diffusion/ECAU" class="extiw" title="phab:diffusion/ECAU">Phabricator</a> ·&#160;<a rel="nofollow" class="external text" href="https://github.com/wikimedia/mediawiki-extensions-CentralAuth">GitHub</a>)</li> <li><a href="https://gerrit.wikimedia.org/g/mediawiki/extensions/CentralAuth/%2Blog/master" class="extiw" title="git:mediawiki/extensions/CentralAuth/+log/master">commit&#160;history</a></li> <li><a rel="nofollow" class="external text" href="https://github.com/wikimedia/mediawiki-extensions-CentralAuth/graphs/contributors">repository contributors (GitHub)</a></li> <li><a href="https://gerrit.wikimedia.org/r/q/project:mediawiki/extensions/CentralAuth" class="extiw" title="gerrit:q/project:mediawiki/extensions/CentralAuth">code review</a></li></ul></div></td> </tr> <tr> <td class="mw-collapsible mw-collapsed" colspan="2"> <div class="mw-collapsible-header"><a href="/wiki/Special:MyLanguage/Template:Extension#parameters" title="Special:MyLanguage/Template:Extension">Parameters</a><span style="display:none"><a href="/wiki/Template:Extension#parameters" title="Template:Extension"> </a></span></div> <div class="mw-collapsible-content"> <ul><li><span class="configvariable" title="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, or to the wiki&#39;s domain name when that wiki does not use an explicit cookie domain.">$wgCentralAuthAutoLoginWikis</span></li> <li><span class="configvariable" title="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.">$wgCentralAuthCookiePath</span></li> <li><span class="configvariable" title="Enables SUL3 mode (T348388 and T375787). Experimental, do not use. Defaults to empty array but allowed values within the array are: &#39;always&#39; (always SUL3 mode), &#39;query-flag&#39; (enabled when the URL has a &#39;usesul3=1&#39; query parameter), and &#39;cookie&#39; (enabled when there is a &#39;sul3OptIn=1&#39; cookie). The query flag is used to pass on the SUL3 flag during redirect chains, so unless SUL3 is always or never enabled, &#39;query-flag&#39; should always be included.">$wgCentralAuthEnableSul3</span></li> <li><span class="configvariable" title="Username of a global user to set as the performer for vanish requests that get fulfilled automatically. If this is left unset, then automatic vanishing will be disabled.">$wgCentralAuthAutomaticVanishPerformer</span></li> <li><span class="configvariable" title="Like $wgReadOnly, used to set extension to database read only mode">$wgCentralAuthReadOnly</span></li> <li><span class="configvariable" title="Number of seconds to use for timeout and connectTimeout options to HTTP request factory when calling ipoid">$wgCentralAuthIpoidRequestTimeoutSeconds</span></li> <li><span class="configvariable" title="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.">$wgCentralAuthAutoMigrate</span></li> <li><span class="configvariable" title="Fallback URL to use in the event that a wiki doesn&#39;t have a page for appealing blocked accounts.">$wgCentralAuthFallbackAppealUrl</span></li> <li><span class="configvariable" title="List of Wikidata ids associated with content relevant to appealing blocked accounts.">$wgCentralAuthBlockAppealWikidataIds</span></li> <li><span class="configvariable" title="Experimental, do not use unless you know what you are doing. Might be removed without notice. 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 current 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.">$wgCentralAuthSharedDomainPrefix</span></li> <li><span class="configvariable" title="Feature flag for Special:GlobalRenameRequest">$wgCentralAuthEnableGlobalRenameRequest</span></li> <li><span class="configvariable" title="Experimental, has no effect unless CentralAuthSharedDomainPrefix is set. Restrict wiki functionality to authentication only when the current domain matches the domain of CentralAuthSharedDomainPrefix. Enable when using a shared login domain. Disable when the login domain is a standalone wiki.">$wgCentralAuthRestrictSharedDomain</span></li> <li><span class="configvariable" title="Feature flag to enable/disable denying account creation based on IP reputation data from ipoid service https&#58;//wikitech.wikimedia.org/wiki/Service/IPoid">$wgCentralAuthIpoidCheckAtAccountCreation</span></li> <li><span class="configvariable" title="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.">$wgCentralAuthGlobalPasswordPolicies</span></li> <li><span class="configvariable" title="Domain to set global cookies for. For instance, &#39;.wikipedia.org&#39; 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.">$wgCentralAuthCookieDomain</span></li> <li><span class="configvariable" title="Size of wikis handled in one suppress user job. Keep in mind that one wiki requires ~10 queries.">$wgCentralAuthWikisPerSuppressJob</span></li> <li><span class="configvariable" title="Fallback title to use on the fallback URL.">$wgCentralAuthFallbackAppealTitle</span></li> <li><span class="configvariable" title="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.">$wgCentralAuthCookies</span></li> <li><span class="configvariable" title="If set to true, only log the block to Logstash, but don&#39;t actually deny account creation.">$wgCentralAuthIpoidCheckAtAccountCreationLogOnly</span></li> <li><span class="configvariable" title="Array of settings for sending the CentralAuth events to the RC Feeds">$wgCentralAuthRC</span></li> <li><span class="configvariable">$wgCentralAuthGlobalBlockInterwikiPrefix</span></li> <li><span class="configvariable" title="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">$wgCentralAuthAutoMigrateNonGlobalAccounts</span></li> <li><span class="configvariable" title="Used to identify the CentralAuth database and for SessionStore entries; its use is deprecated. Configure the virtual-centralauth virtual domain instead.">$wgCentralAuthDatabase</span></li> <li><span class="configvariable" title="If true, merging won&#39;t actually be possible through the Special:MergeAccount interface.">$wgCentralAuthDryRun</span></li> <li><span class="configvariable" title="URL to access ipoid service">$wgCentralAuthIpoidUrl</span></li> <li><span class="configvariable" title="URL to the Wikidata API used to find content.">$wgCentralAuthWikidataApiUrl</span></li> <li><span class="configvariable" title="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 compare the user option to default, use the hook CentralAuthIsUIReloadRecommended.">$wgCentralAuthPrefsForUIReload</span></li> <li><span class="configvariable" title="List of tunnel types that CentralAuth will deny account creation for, if ipoid says the IP is associated with the tunnel type. If the IP has a TUNNEL risk type, and any of the tunnel types in this array are present in the data from ipoid, we will deny account creation for that IP.">$wgCentralAuthIpoidDenyAccountCreationTunnelTypes</span></li> <li><span class="configvariable" title="Local filesystem path to the icon returned by Special:CentralAutoLogin. Should be a 20x20px PNG.">$wgCentralAuthLoginIcon</span></li> <li><span class="configvariable" title="If true, remaining accounts which have not been attached will be forbidden from logging in until they are resolved.">$wgCentralAuthStrict</span></li> <li><span class="configvariable" title="The amount of time to wait for tokens to appear in the session store, in seconds">$wgCentralAuthTokenSessionTimeout</span></li> <li><span class="configvariable" title="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&#39;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.">$wgCentralAuthLoginWiki</span></li> <li><span class="configvariable" title="List of risk types that CentralAuth will deny account creation for, if ipoid says the IP is associated with the risk type. If any risk types in this array are present in the data from ipoid, we will deny account creation for that IP.">$wgCentralAuthIpoidDenyAccountCreationRiskTypes</span></li> <li><span class="configvariable" title="If set, this will be used instead of $wgSessionCacheType for session storage">$wgCentralAuthSessionCacheType</span></li> <li><span class="configvariable" title="Source URL for the global rename denylist feature; if null, the feature is disabled.">$wgGlobalRenameDenylist</span></li> <li><span class="configvariable">$wgCentralAuthOldNameAntiSpoofWiki</span></li> <li><span class="configvariable" title="User name to be notified when a global vanish request is rejected.">$wgCentralAuthRejectVanishUserNotification</span></li> <li><span class="configvariable" title="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.">$wgCentralAuthAutoCreateWikis</span></li> <li><span class="configvariable" title="Prefix for CentralAuth global authentication cookies.">$wgCentralAuthCookiePrefix</span></li></ul></div></td> </tr> <tr> <td class="mw-collapsible mw-collapsed" colspan="2"> <div class="mw-collapsible-header"><a href="/wiki/Special:MyLanguage/Template:Extension#rights" title="Special:MyLanguage/Template:Extension">Added rights</a><span style="display:none"><a href="/wiki/Template:Extension#rights" title="Template:Extension"> </a></span></div> <div class="mw-collapsible-content"> <ul><li>centralauth-createlocal</li> <li>centralauth-merge</li> <li>centralauth-unmerge</li> <li>centralauth-lock</li> <li>centralauth-suppress</li> <li>globalgrouppermissions</li> <li>globalgroupmembership</li> <li>centralauth-rename</li></ul> </div></td> </tr> <tr> <td class="mw-collapsible mw-collapsed" colspan="2"> <div class="mw-collapsible-header"><a href="/wiki/Special:MyLanguage/Template:Extension#hook" title="Special:MyLanguage/Template:Extension">Hooks used</a><span style="display:none"><a href="/wiki/Template:Extension#hook" title="Template:Extension"> </a></span></div> <style data-mw-deduplicate="TemplateStyles:r6219282">.mw-parser-output .plainlist ul{line-height:inherit;list-style:none none;margin:0}.mw-parser-output .plainlist ul li{margin-bottom:0}</style><div class="plainlist mw-collapsible-content"><ul><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/APIGetAllowedParams" title="Special:MyLanguage/Manual:Hooks/APIGetAllowedParams">APIGetAllowedParams</a><span style="display:none"><a href="/wiki/Manual:Hooks/APIGetAllowedParams" title="Manual:Hooks/APIGetAllowedParams"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/AbuseFilter-builder" title="Special:MyLanguage/Manual:Hooks/AbuseFilter-builder">AbuseFilter-builder</a><span style="display:none"><a href="/wiki/Manual:Hooks/AbuseFilter-builder" class="mw-redirect" title="Manual:Hooks/AbuseFilter-builder"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/AbuseFilter-computeVariable" title="Special:MyLanguage/Manual:Hooks/AbuseFilter-computeVariable">AbuseFilter-computeVariable</a><span style="display:none"><a href="/wiki/Manual:Hooks/AbuseFilter-computeVariable" class="mw-redirect" title="Manual:Hooks/AbuseFilter-computeVariable"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/AbuseFilter-generateUserVars" title="Special:MyLanguage/Manual:Hooks/AbuseFilter-generateUserVars">AbuseFilter-generateUserVars</a><span style="display:none"><a href="/wiki/Manual:Hooks/AbuseFilter-generateUserVars" class="mw-redirect" title="Manual:Hooks/AbuseFilter-generateUserVars"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/AbuseFilterAlterVariables" title="Special:MyLanguage/Manual:Hooks/AbuseFilterAlterVariables">AbuseFilterAlterVariables</a><span style="display:none"><a href="/wiki/Manual:Hooks/AbuseFilterAlterVariables" class="mw-redirect" title="Manual:Hooks/AbuseFilterAlterVariables"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/AbuseFilterShouldFilterAction" title="Special:MyLanguage/Manual:Hooks/AbuseFilterShouldFilterAction">AbuseFilterShouldFilterAction</a><span style="display:none"><a href="/wiki/Manual:Hooks/AbuseFilterShouldFilterAction" class="mw-redirect" title="Manual:Hooks/AbuseFilterShouldFilterAction"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/ApiCheckCanExecute" title="Special:MyLanguage/Manual:Hooks/ApiCheckCanExecute">ApiCheckCanExecute</a><span style="display:none"><a href="/wiki/Manual:Hooks/ApiCheckCanExecute" title="Manual:Hooks/ApiCheckCanExecute"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/ApiQueryTokensRegisterTypes" title="Special:MyLanguage/Manual:Hooks/ApiQueryTokensRegisterTypes">ApiQueryTokensRegisterTypes</a><span style="display:none"><a href="/wiki/Manual:Hooks/ApiQueryTokensRegisterTypes" title="Manual:Hooks/ApiQueryTokensRegisterTypes"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/AuthChangeFormFields" title="Special:MyLanguage/Manual:Hooks/AuthChangeFormFields">AuthChangeFormFields</a><span style="display:none"><a href="/wiki/Manual:Hooks/AuthChangeFormFields" title="Manual:Hooks/AuthChangeFormFields"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/AuthManagerFilterProviders" title="Special:MyLanguage/Manual:Hooks/AuthManagerFilterProviders">AuthManagerFilterProviders</a><span style="display:none"><a href="/wiki/Manual:Hooks/AuthManagerFilterProviders" title="Manual:Hooks/AuthManagerFilterProviders"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/AuthManagerVerifyAuthentication" title="Special:MyLanguage/Manual:Hooks/AuthManagerVerifyAuthentication">AuthManagerVerifyAuthentication</a><span style="display:none"><a href="/wiki/Manual:Hooks/AuthManagerVerifyAuthentication" title="Manual:Hooks/AuthManagerVerifyAuthentication"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/AuthPreserveQueryParams" title="Special:MyLanguage/Manual:Hooks/AuthPreserveQueryParams">AuthPreserveQueryParams</a><span style="display:none"><a href="/wiki/Manual:Hooks/AuthPreserveQueryParams" title="Manual:Hooks/AuthPreserveQueryParams"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/AutopromoteCondition" title="Special:MyLanguage/Manual:Hooks/AutopromoteCondition">AutopromoteCondition</a><span style="display:none"><a href="/wiki/Manual:Hooks/AutopromoteCondition" title="Manual:Hooks/AutopromoteCondition"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/BeforePageDisplay" title="Special:MyLanguage/Manual:Hooks/BeforePageDisplay">BeforePageDisplay</a><span style="display:none"><a href="/wiki/Manual:Hooks/BeforePageDisplay" title="Manual:Hooks/BeforePageDisplay"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/ContentSecurityPolicyDefaultSource" title="Special:MyLanguage/Manual:Hooks/ContentSecurityPolicyDefaultSource">ContentSecurityPolicyDefaultSource</a><span style="display:none"><a href="/wiki/Manual:Hooks/ContentSecurityPolicyDefaultSource" title="Manual:Hooks/ContentSecurityPolicyDefaultSource"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/ContentSecurityPolicyScriptSource" title="Special:MyLanguage/Manual:Hooks/ContentSecurityPolicyScriptSource">ContentSecurityPolicyScriptSource</a><span style="display:none"><a href="/wiki/Manual:Hooks/ContentSecurityPolicyScriptSource" title="Manual:Hooks/ContentSecurityPolicyScriptSource"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/ContributionsToolLinks" title="Special:MyLanguage/Manual:Hooks/ContributionsToolLinks">ContributionsToolLinks</a><span style="display:none"><a href="/wiki/Manual:Hooks/ContributionsToolLinks" title="Manual:Hooks/ContributionsToolLinks"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/GetLocalURL" title="Special:MyLanguage/Manual:Hooks/GetLocalURL">GetLocalURL</a><span style="display:none"><a href="/wiki/Manual:Hooks/GetLocalURL" title="Manual:Hooks/GetLocalURL"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/GetLogTypesOnUser" title="Special:MyLanguage/Manual:Hooks/GetLogTypesOnUser">GetLogTypesOnUser</a><span style="display:none"><a href="/wiki/Manual:Hooks/GetLogTypesOnUser" title="Manual:Hooks/GetLogTypesOnUser"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/GetPreferences" title="Special:MyLanguage/Manual:Hooks/GetPreferences">GetPreferences</a><span style="display:none"><a href="/wiki/Manual:Hooks/GetPreferences" title="Manual:Hooks/GetPreferences"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/GetUserBlock" title="Special:MyLanguage/Manual:Hooks/GetUserBlock">GetUserBlock</a><span style="display:none"><a href="/wiki/Manual:Hooks/GetUserBlock" title="Manual:Hooks/GetUserBlock"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/ImportHandleUnknownUser" title="Special:MyLanguage/Manual:Hooks/ImportHandleUnknownUser">ImportHandleUnknownUser</a><span style="display:none"><a href="/wiki/Manual:Hooks/ImportHandleUnknownUser" title="Manual:Hooks/ImportHandleUnknownUser"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/InvalidateEmailComplete" title="Special:MyLanguage/Manual:Hooks/InvalidateEmailComplete">InvalidateEmailComplete</a><span style="display:none"><a href="/wiki/Manual:Hooks/InvalidateEmailComplete" title="Manual:Hooks/InvalidateEmailComplete"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/LoadExtensionSchemaUpdates" title="Special:MyLanguage/Manual:Hooks/LoadExtensionSchemaUpdates">LoadExtensionSchemaUpdates</a><span style="display:none"><a href="/wiki/Manual:Hooks/LoadExtensionSchemaUpdates" title="Manual:Hooks/LoadExtensionSchemaUpdates"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/LocalUserCreated" title="Special:MyLanguage/Manual:Hooks/LocalUserCreated">LocalUserCreated</a><span style="display:none"><a href="/wiki/Manual:Hooks/LocalUserCreated" title="Manual:Hooks/LocalUserCreated"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/LogEventsListGetExtraInputs" title="Special:MyLanguage/Manual:Hooks/LogEventsListGetExtraInputs">LogEventsListGetExtraInputs</a><span style="display:none"><a href="/wiki/Manual:Hooks/LogEventsListGetExtraInputs" title="Manual:Hooks/LogEventsListGetExtraInputs"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/MakeGlobalVariablesScript" title="Special:MyLanguage/Manual:Hooks/MakeGlobalVariablesScript">MakeGlobalVariablesScript</a><span style="display:none"><a href="/wiki/Manual:Hooks/MakeGlobalVariablesScript" title="Manual:Hooks/MakeGlobalVariablesScript"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/OtherBlockLogLink" title="Special:MyLanguage/Manual:Hooks/OtherBlockLogLink">OtherBlockLogLink</a><span style="display:none"><a href="/wiki/Manual:Hooks/OtherBlockLogLink" title="Manual:Hooks/OtherBlockLogLink"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/PasswordPoliciesForUser" title="Special:MyLanguage/Manual:Hooks/PasswordPoliciesForUser">PasswordPoliciesForUser</a><span style="display:none"><a href="/wiki/Manual:Hooks/PasswordPoliciesForUser" title="Manual:Hooks/PasswordPoliciesForUser"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/PostLoginRedirect" title="Special:MyLanguage/Manual:Hooks/PostLoginRedirect">PostLoginRedirect</a><span style="display:none"><a href="/wiki/Manual:Hooks/PostLoginRedirect" title="Manual:Hooks/PostLoginRedirect"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/RenameUserComplete" title="Special:MyLanguage/Manual:Hooks/RenameUserComplete">RenameUserComplete</a><span style="display:none"><a href="/wiki/Manual:Hooks/RenameUserComplete" title="Manual:Hooks/RenameUserComplete"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/RenameUserPreRename" title="Special:MyLanguage/Manual:Hooks/RenameUserPreRename">RenameUserPreRename</a><span style="display:none"><a href="/wiki/Manual:Hooks/RenameUserPreRename" title="Manual:Hooks/RenameUserPreRename"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/RenameUserWarning" title="Special:MyLanguage/Manual:Hooks/RenameUserWarning">RenameUserWarning</a><span style="display:none"><a href="/wiki/Manual:Hooks/RenameUserWarning" title="Manual:Hooks/RenameUserWarning"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/ResourceLoaderForeignApiModules" title="Special:MyLanguage/Manual:Hooks/ResourceLoaderForeignApiModules">ResourceLoaderForeignApiModules</a><span style="display:none"><a href="/wiki/Manual:Hooks/ResourceLoaderForeignApiModules" title="Manual:Hooks/ResourceLoaderForeignApiModules"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/ResourceLoaderModifyEmbeddedSourceUrls" title="Special:MyLanguage/Manual:Hooks/ResourceLoaderModifyEmbeddedSourceUrls">ResourceLoaderModifyEmbeddedSourceUrls</a><span style="display:none"><a href="/wiki/Manual:Hooks/ResourceLoaderModifyEmbeddedSourceUrls" title="Manual:Hooks/ResourceLoaderModifyEmbeddedSourceUrls"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/SecurePoll_GetUserParams" title="Special:MyLanguage/Manual:Hooks/SecurePoll GetUserParams">SecurePoll_GetUserParams</a><span style="display:none"><a href="/wiki/Manual:Hooks/SecurePoll_GetUserParams" class="mw-redirect" title="Manual:Hooks/SecurePoll GetUserParams"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/SessionCheckInfo" title="Special:MyLanguage/Manual:Hooks/SessionCheckInfo">SessionCheckInfo</a><span style="display:none"><a href="/wiki/Manual:Hooks/SessionCheckInfo" title="Manual:Hooks/SessionCheckInfo"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/SetupAfterCache" title="Special:MyLanguage/Manual:Hooks/SetupAfterCache">SetupAfterCache</a><span style="display:none"><a href="/wiki/Manual:Hooks/SetupAfterCache" title="Manual:Hooks/SetupAfterCache"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/SpecialContributionsBeforeMainOutput" title="Special:MyLanguage/Manual:Hooks/SpecialContributionsBeforeMainOutput">SpecialContributionsBeforeMainOutput</a><span style="display:none"><a href="/wiki/Manual:Hooks/SpecialContributionsBeforeMainOutput" title="Manual:Hooks/SpecialContributionsBeforeMainOutput"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/SpecialLogAddLogSearchRelations" title="Special:MyLanguage/Manual:Hooks/SpecialLogAddLogSearchRelations">SpecialLogAddLogSearchRelations</a><span style="display:none"><a href="/wiki/Manual:Hooks/SpecialLogAddLogSearchRelations" title="Manual:Hooks/SpecialLogAddLogSearchRelations"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/SpecialPageBeforeExecute" title="Special:MyLanguage/Manual:Hooks/SpecialPageBeforeExecute">SpecialPageBeforeExecute</a><span style="display:none"><a href="/wiki/Manual:Hooks/SpecialPageBeforeExecute" title="Manual:Hooks/SpecialPageBeforeExecute"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/SpecialPage_initList" title="Special:MyLanguage/Manual:Hooks/SpecialPage initList">SpecialPage_initList</a><span style="display:none"><a href="/wiki/Manual:Hooks/SpecialPage_initList" title="Manual:Hooks/SpecialPage initList"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/SpecialPasswordResetOnSubmit" title="Special:MyLanguage/Manual:Hooks/SpecialPasswordResetOnSubmit">SpecialPasswordResetOnSubmit</a><span style="display:none"><a href="/wiki/Manual:Hooks/SpecialPasswordResetOnSubmit" title="Manual:Hooks/SpecialPasswordResetOnSubmit"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/TempUserCreatedRedirect" title="Special:MyLanguage/Manual:Hooks/TempUserCreatedRedirect">TempUserCreatedRedirect</a><span style="display:none"><a href="/wiki/Manual:Hooks/TempUserCreatedRedirect" title="Manual:Hooks/TempUserCreatedRedirect"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/TestCanonicalRedirect" title="Special:MyLanguage/Manual:Hooks/TestCanonicalRedirect">TestCanonicalRedirect</a><span style="display:none"><a href="/wiki/Manual:Hooks/TestCanonicalRedirect" title="Manual:Hooks/TestCanonicalRedirect"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UnitTestsAfterDatabaseSetup" title="Special:MyLanguage/Manual:Hooks/UnitTestsAfterDatabaseSetup">UnitTestsAfterDatabaseSetup</a><span style="display:none"><a href="/wiki/Manual:Hooks/UnitTestsAfterDatabaseSetup" title="Manual:Hooks/UnitTestsAfterDatabaseSetup"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UnitTestsBeforeDatabaseTeardown" title="Special:MyLanguage/Manual:Hooks/UnitTestsBeforeDatabaseTeardown">UnitTestsBeforeDatabaseTeardown</a><span style="display:none"><a href="/wiki/Manual:Hooks/UnitTestsBeforeDatabaseTeardown" title="Manual:Hooks/UnitTestsBeforeDatabaseTeardown"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UserArrayFromResult" title="Special:MyLanguage/Manual:Hooks/UserArrayFromResult">UserArrayFromResult</a><span style="display:none"><a href="/wiki/Manual:Hooks/UserArrayFromResult" title="Manual:Hooks/UserArrayFromResult"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UserEditCountUpdate" title="Special:MyLanguage/Manual:Hooks/UserEditCountUpdate">UserEditCountUpdate</a><span style="display:none"><a href="/wiki/Manual:Hooks/UserEditCountUpdate" title="Manual:Hooks/UserEditCountUpdate"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UserGetEmail" title="Special:MyLanguage/Manual:Hooks/UserGetEmail">UserGetEmail</a><span style="display:none"><a href="/wiki/Manual:Hooks/UserGetEmail" title="Manual:Hooks/UserGetEmail"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UserGetEmailAuthenticationTimestamp" title="Special:MyLanguage/Manual:Hooks/UserGetEmailAuthenticationTimestamp">UserGetEmailAuthenticationTimestamp</a><span style="display:none"><a href="/wiki/Manual:Hooks/UserGetEmailAuthenticationTimestamp" title="Manual:Hooks/UserGetEmailAuthenticationTimestamp"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UserGetReservedNames" title="Special:MyLanguage/Manual:Hooks/UserGetReservedNames">UserGetReservedNames</a><span style="display:none"><a href="/wiki/Manual:Hooks/UserGetReservedNames" title="Manual:Hooks/UserGetReservedNames"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UserGetRights" title="Special:MyLanguage/Manual:Hooks/UserGetRights">UserGetRights</a><span style="display:none"><a href="/wiki/Manual:Hooks/UserGetRights" title="Manual:Hooks/UserGetRights"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UserIsBot" title="Special:MyLanguage/Manual:Hooks/UserIsBot">UserIsBot</a><span style="display:none"><a href="/wiki/Manual:Hooks/UserIsBot" title="Manual:Hooks/UserIsBot"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UserIsLocked" title="Special:MyLanguage/Manual:Hooks/UserIsLocked">UserIsLocked</a><span style="display:none"><a href="/wiki/Manual:Hooks/UserIsLocked" title="Manual:Hooks/UserIsLocked"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UserLoginComplete" title="Special:MyLanguage/Manual:Hooks/UserLoginComplete">UserLoginComplete</a><span style="display:none"><a href="/wiki/Manual:Hooks/UserLoginComplete" title="Manual:Hooks/UserLoginComplete"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UserLogout" title="Special:MyLanguage/Manual:Hooks/UserLogout">UserLogout</a><span style="display:none"><a href="/wiki/Manual:Hooks/UserLogout" title="Manual:Hooks/UserLogout"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UserLogoutComplete" title="Special:MyLanguage/Manual:Hooks/UserLogoutComplete">UserLogoutComplete</a><span style="display:none"><a href="/wiki/Manual:Hooks/UserLogoutComplete" title="Manual:Hooks/UserLogoutComplete"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UserSaveSettings" title="Special:MyLanguage/Manual:Hooks/UserSaveSettings">UserSaveSettings</a><span style="display:none"><a href="/wiki/Manual:Hooks/UserSaveSettings" title="Manual:Hooks/UserSaveSettings"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UserSetEmail" title="Special:MyLanguage/Manual:Hooks/UserSetEmail">UserSetEmail</a><span style="display:none"><a href="/wiki/Manual:Hooks/UserSetEmail" title="Manual:Hooks/UserSetEmail"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UserSetEmailAuthenticationTimestamp" title="Special:MyLanguage/Manual:Hooks/UserSetEmailAuthenticationTimestamp">UserSetEmailAuthenticationTimestamp</a><span style="display:none"><a href="/wiki/Manual:Hooks/UserSetEmailAuthenticationTimestamp" title="Manual:Hooks/UserSetEmailAuthenticationTimestamp"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/getUserPermissionsErrors" title="Special:MyLanguage/Manual:Hooks/getUserPermissionsErrors">getUserPermissionsErrors</a><span style="display:none"><a href="/wiki/Manual:Hooks/getUserPermissionsErrors" title="Manual:Hooks/getUserPermissionsErrors"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/getUserPermissionsErrorsExpensive" title="Special:MyLanguage/Manual:Hooks/getUserPermissionsErrorsExpensive">getUserPermissionsErrorsExpensive</a><span style="display:none"><a href="/wiki/Manual:Hooks/getUserPermissionsErrorsExpensive" title="Manual:Hooks/getUserPermissionsErrorsExpensive"> </a></span></li></ul></div> </td> </tr> <tr> <td class="mw-collapsible mw-collapsed" colspan="2"> <div class="mw-collapsible-header"><a href="/wiki/Special:MyLanguage/Template:Extension#newhook" title="Special:MyLanguage/Template:Extension">Hooks provided</a><span style="display:none"><a href="/wiki/Template:Extension#newhook" title="Template:Extension"> </a></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r6219282"><div class="plainlist mw-collapsible-content"><ul><li><a href="/wiki/Special:MyLanguage/Extension:CentralAuth/Hooks/CentralAuthIsUIReloadRecommended" title="Special:MyLanguage/Extension:CentralAuth/Hooks/CentralAuthIsUIReloadRecommended">CentralAuthIsUIReloadRecommended</a><span style="display:none"><a href="/wiki/Extension:CentralAuth/Hooks/CentralAuthIsUIReloadRecommended" title="Extension:CentralAuth/Hooks/CentralAuthIsUIReloadRecommended"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Extension:CentralAuth/Hooks/CentralAuthLoginRedirectData" title="Special:MyLanguage/Extension:CentralAuth/Hooks/CentralAuthLoginRedirectData">CentralAuthLoginRedirectData</a><span style="display:none"><a href="/wiki/Extension:CentralAuth/Hooks/CentralAuthLoginRedirectData" title="Extension:CentralAuth/Hooks/CentralAuthLoginRedirectData"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Extension:CentralAuth/Hooks/CentralAuthPostLoginRedirect" title="Special:MyLanguage/Extension:CentralAuth/Hooks/CentralAuthPostLoginRedirect">CentralAuthPostLoginRedirect</a><span style="display:none"><a href="/wiki/Extension:CentralAuth/Hooks/CentralAuthPostLoginRedirect" title="Extension:CentralAuth/Hooks/CentralAuthPostLoginRedirect"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Extension:CentralAuth/Hooks/CentralAuthSilentLoginRedirect" title="Special:MyLanguage/Extension:CentralAuth/Hooks/CentralAuthSilentLoginRedirect">CentralAuthSilentLoginRedirect</a><span style="display:none"><a href="/wiki/Extension:CentralAuth/Hooks/CentralAuthSilentLoginRedirect" title="Extension:CentralAuth/Hooks/CentralAuthSilentLoginRedirect"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Extension:CentralAuth/Hooks/CentralAuthWikiList" title="Special:MyLanguage/Extension:CentralAuth/Hooks/CentralAuthWikiList">CentralAuthWikiList</a><span style="display:none"><a href="/wiki/Extension:CentralAuth/Hooks/CentralAuthWikiList" title="Extension:CentralAuth/Hooks/CentralAuthWikiList"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Extension:CentralAuth/Hooks/CentralAuthInfoFields" title="Special:MyLanguage/Extension:CentralAuth/Hooks/CentralAuthInfoFields">CentralAuthInfoFields</a><span style="display:none"><a href="/wiki/Extension:CentralAuth/Hooks/CentralAuthInfoFields" title="Extension:CentralAuth/Hooks/CentralAuthInfoFields"> </a></span></li></ul></div> </td> </tr> <tr> <td title="This only includes downloads from Special:ExtensionDistributor. Other download methods such as git or bundled extensions are not included."><b>Quarterly downloads</b></td> <td>46 (Ranked 89<sup>th</sup>)</td> </tr> <tr> <td colspan="2" class="ext-infobox-translate"> <a href="https://translatewiki.net/wiki/Special:Translate/ext-centralauth" class="extiw" title="translatewiki:Special:Translate/ext-centralauth">Translate the CentralAuth extension</a> if it is available at translatewiki.net</td> </tr><tr class="mw-empty-elt"> </tr> <tr> <td> <b><a href="/wiki/Special:MyLanguage/Phabricator" title="Special:MyLanguage/Phabricator">Issues</a><span style="display:none"><a href="/wiki/Phabricator" title="Phabricator"> </a></span></b></td> <td><a href="https://phabricator.wikimedia.org/tag/mediawiki-extensions-centralauth" class="extiw" title="phab:tag/mediawiki-extensions-centralauth">Open tasks</a> · <a class="external text" href="https://phabricator.wikimedia.org/maniphest/task/create/?projects=MediaWiki-extensions-CentralAuth">Report a bug</a></td> </tr> </tbody></table> <p><b>CentralAuth</b> allows merging several existing separate account systems into one global account system. </p> <table class="warning-message" style="background-color: var( --background-color-error-subtle, #ffe9e5 ); color: var( --color-base, #202122 ); border: 1px var( --border-color-error, #9f3526 ) solid; box-sizing: border-box; margin: 0.5em 0; padding: 0.5em;"><tbody><tr><td style="white-space: nowrap; vertical-align: top;"><span style="position: relative; top: -2px;"><span typeof="mw:File"><span><img alt="Warning" src="//upload.wikimedia.org/wikipedia/commons/thumb/b/bf/OOjs_UI_icon_notice-destructive.svg/18px-OOjs_UI_icon_notice-destructive.svg.png" decoding="async" width="18" height="18" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/b/bf/OOjs_UI_icon_notice-destructive.svg/27px-OOjs_UI_icon_notice-destructive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/b/bf/OOjs_UI_icon_notice-destructive.svg/36px-OOjs_UI_icon_notice-destructive.svg.png 2x" data-file-width="20" data-file-height="20" /></span></span></span> <b>Warning:</b> </td><td style="padding-left: 0.5em vertical-align: top;">CentralAuth was designed specifically for Wikimedia projects which already had millions of accounts that needed to be merged into a global table. <p>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 <a href="/wiki/Special:MyLanguage/Manual:$wgSharedDB" title="Special:MyLanguage/Manual:$wgSharedDB">$wgSharedDB</a><span style="display:none"><a href="/wiki/Manual:$wgSharedDB" title="Manual:$wgSharedDB"> </a></span> rather than using CentralAuth.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup> </p><p>However, <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgSharedDB</span></code> 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. </p><p>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. </p> <b>You have been warned.</b></td></tr></tbody></table> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Installation">Installation</h2></div> <p>See the <a href="#Setup">setup</a> section below for prerequisites to using CentralAuth. Then follow these instructions when you are ready to activate CentralAuth: </p> <ol><li>Install <a href="/wiki/Special:MyLanguage/Extension:AntiSpoof" title="Special:MyLanguage/Extension:AntiSpoof">Extension:AntiSpoof</a><span style="display:none"><a href="/wiki/Extension:AntiSpoof" title="Extension:AntiSpoof"> </a></span>, since it is a required dependency.</li> <li><a href="/wiki/Special:ExtensionDistributor/CentralAuth" title="Special:ExtensionDistributor/CentralAuth">Download the latest snapshot</a> and extract it to your <code>extensions</code> directory.</li> <li>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 <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="nv">$wgVirtualDomainsMapping</span><span class="p">[</span><span class="s1">&#39;virtual-centralauth&#39;</span><span class="p">]</span></code> below.) Use this database then run <code>tables-generated.sql</code>. <ul><li>If you use <a href="/wiki/Special:MyLanguage/Extension:AntiSpoof" title="Special:MyLanguage/Extension:AntiSpoof">Extension:AntiSpoof</a><span style="display:none"><a href="/wiki/Extension:AntiSpoof" title="Extension:AntiSpoof"> </a></span> you'll need to create a global <code>spoofuser</code> table (to block new usernames that look similar to existing usernames in any wiki). One way to do this is dump the <code>spoofuser</code> table from the local wiki's database and import it into the new <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="nv">$wgVirtualDomainsMapping</span><span class="p">[</span><span class="s1">&#39;virtual-centralauth&#39;</span><span class="p">]</span></code>.</li></ul></li> <li>Add <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="nx">wfLoadExtension</span><span class="p">(</span> <span class="s1">&#39;CentralAuth&#39;</span> <span class="p">);</span></code> to your <a href="/wiki/Special:MyLanguage/Manual:LocalSettings.php" title="Special:MyLanguage/Manual:LocalSettings.php">LocalSettings.php</a><span style="display:none"><a href="/wiki/Manual:LocalSettings.php" title="Manual:LocalSettings.php"> </a></span> for each of your wikis, or in another PHP file that is included in <code>LocalSettings.php</code> on each of your wikis.</li> <li>The CentralAuth extension should be now active.</li></ol> <div class="mw-heading mw-heading3"><h3 id="Create_a_new_database">Create a new database</h3></div> <p>Here are sample shell and SQL commands to create the <code>centralauth</code> database, copy the <code>spoofuser</code> table to it, and migrate existing user data to it. Replace $wgDBname and $wgDBuser with the values for your own wiki installation credentials. </p><p>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): </p> <div class="mw-highlight mw-highlight-lang-shell-session mw-content-ltr" dir="ltr"><pre><span></span><span class="gp">$ </span><span class="nb">cd</span><span class="w"> </span>extensions/CentralAuth <span class="gp">$ </span>mysql<span class="w"> </span>-u<span class="w"> </span>root<span class="w"> </span>-p <span class="gp gp-VirtualEnv">(enter password for root SQL user)</span> </pre></div> <div class="mw-highlight mw-highlight-lang-mysql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">DATABASE</span><span class="w"> </span><span class="n">centralauth</span><span class="p">;</span> <span class="k">USE</span><span class="w"> </span><span class="n">centralauth</span><span class="p">;</span> <span class="k">GRANT</span><span class="w"> </span><span class="k">all</span><span class="w"> </span><span class="k">on</span><span class="w"> </span><span class="n">centralauth</span><span class="p">.</span><span class="o">*</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="s1">&#39;$wgDBuser&#39;</span><span class="nv">@&#39;localhost&#39;</span><span class="p">;</span> <span class="n">quit</span> </pre></div> <div class="mw-heading mw-heading3"><h3 id="Run_maintenance_scripts">Run maintenance scripts</h3></div> <p>The following assumes your present working directory is your MediaWiki installation (not your CentralAuth directory). Create the central auth tables (using <code><a href="/wiki/Special:MyLanguage/Manual:sql.php" title="Special:MyLanguage/Manual:sql.php">sql.php</a><span style="display:none"><a href="/wiki/Manual:Sql.php" title="Manual:Sql.php"> </a></span></code> is preferred). </p> <div class="mw-highlight mw-highlight-lang-shell mw-content-ltr" dir="ltr"><pre><span></span>php<span class="w"> </span>maintenance/run.php<span class="w"> </span>sql<span class="w"> </span>--wikidb<span class="w"> </span>centralauth<span class="w"> </span>extensions/CentralAuth/schema/&lt;db_type&gt;/tables-generated.sql </pre></div> <p>If AntiSpoof is installed, create the table via (Alternatively, you can copy an existing AntiSpoof table if you want to keep previous entries): </p> <div class="mw-highlight mw-highlight-lang-shell mw-content-ltr" dir="ltr"><pre><span></span>php<span class="w"> </span>maintenance/run.php<span class="w"> </span>sql<span class="w"> </span>--wikidb<span class="w"> </span>centralauth<span class="w"> </span>extensions/AntiSpoof/sql/&lt;db_type&gt;/tables-generated.sql </pre></div> <p>Run the user migration scripts </p> <div class="mw-highlight mw-highlight-lang-shell-session mw-content-ltr" dir="ltr"><pre><span></span><span class="gp">$ </span>php<span class="w"> </span>maintenance/run.php<span class="w"> </span>CentralAuth:migratePass0.php <span class="gp">$ </span>php<span class="w"> </span>maintenance/run.php<span class="w"> </span>CentralAuth:migratePass1.php </pre></div> <div class="mw-heading mw-heading3"><h3 id="Upgrading">Upgrading</h3></div> <p>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. </p> <div class="mw-heading mw-heading2"><h2 id="Setup">Setup</h2></div> <table class="warning-message" style="background-color: var( --background-color-error-subtle, #ffe9e5 ); color: var( --color-base, #202122 ); border: 1px var( --border-color-error, #9f3526 ) solid; box-sizing: border-box; margin: 0.5em 0; padding: 0.5em;"><tbody><tr><td style="white-space: nowrap; vertical-align: top;"><span style="position: relative; top: -2px;"><span typeof="mw:File"><span><img alt="Warning" src="//upload.wikimedia.org/wikipedia/commons/thumb/b/bf/OOjs_UI_icon_notice-destructive.svg/18px-OOjs_UI_icon_notice-destructive.svg.png" decoding="async" width="18" height="18" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/b/bf/OOjs_UI_icon_notice-destructive.svg/27px-OOjs_UI_icon_notice-destructive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/b/bf/OOjs_UI_icon_notice-destructive.svg/36px-OOjs_UI_icon_notice-destructive.svg.png 2x" data-file-width="20" data-file-height="20" /></span></span></span> <b>Warning:</b> </td><td style="padding-left: 0.5em vertical-align: top;">A central login wiki 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). See <a href="#&quot;SUL2&quot;_behavior">below</a> for detail.</td></tr></tbody></table> <p>First, you'll need to configure your <a href="/wiki/Special:MyLanguage/Manual:Wiki_family" title="Special:MyLanguage/Manual:Wiki family">wiki family</a> using <code><a href="/wiki/Special:MyLanguage/Manual:$wgConf" title="Special:MyLanguage/Manual:$wgConf">$wgConf</a><span style="display:none"><a href="/wiki/Manual:$wgConf" title="Manual:$wgConf"> </a></span></code>, or CentralAuth can't be used for your wiki family. This includes setting <code><a href="/wiki/Special:MyLanguage/Manual:$wgLocalDatabases" title="Special:MyLanguage/Manual:$wgLocalDatabases">$wgLocalDatabases</a><span style="display:none"><a href="/wiki/Manual:$wgLocalDatabases" title="Manual:$wgLocalDatabases"> </a></span></code> and assigning it to <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="nv">$wgConf</span><span class="o">-&gt;</span><span class="na">wikis</span></code>, and <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="nv">$wgConf</span><span class="o">-&gt;</span><span class="na">settings</span></code> (minimum is <code><a href="/wiki/Special:MyLanguage/Manual:$wgCanonicalServer" title="Special:MyLanguage/Manual:$wgCanonicalServer">$wgCanonicalServer</a><span style="display:none"><a href="/wiki/Manual:$wgCanonicalServer" title="Manual:$wgCanonicalServer"> </a></span></code>, <code><a href="/wiki/Special:MyLanguage/Manual:$wgServer" title="Special:MyLanguage/Manual:$wgServer">$wgServer</a><span style="display:none"><a href="/wiki/Manual:$wgServer" title="Manual:$wgServer"> </a></span></code> and <code><a href="/wiki/Special:MyLanguage/Manual:$wgArticlePath" title="Special:MyLanguage/Manual:$wgArticlePath">$wgArticlePath</a><span style="display:none"><a href="/wiki/Manual:$wgArticlePath" title="Manual:$wgArticlePath"> </a></span></code>). Follow <a href="/wiki/Special:MyLanguage/Manual:$wgConf#Example" title="Special:MyLanguage/Manual:$wgConf">the examples</a> 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 <code>enwiki</code>, <code>dewiki</code>, <code>frwiki</code>, etc., pertaining to wikis belonging to the same group, all have the suffix "<code>wiki</code>"). </p><p>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 <a href="https://gerrit.wikimedia.org/g/mediawiki/extensions/CentralAuth/%2B/HEAD/maintenance/migratePass0.php" class="extiw" title="git:mediawiki/extensions/CentralAuth/+/HEAD/maintenance/migratePass0.php">migratePass0.php</a> and <a href="https://gerrit.wikimedia.org/g/mediawiki/extensions/CentralAuth/%2B/HEAD/maintenance/migratePass1.php" class="extiw" title="git:mediawiki/extensions/CentralAuth/+/HEAD/maintenance/migratePass1.php">migratePass1.php</a> 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 <b>Special:MergeAccount</b>. Dry runs can be used for testing purposes. </p><p>To enable global groups, you will have to make an entry into the <code>global_group_permissions</code> table in your CentralAuth database, with <code>ggp_group='steward'</code> and (for access to the group management interface) <code>ggp_permission=globalgrouppermissions</code>. A sample query that is recommended to use is: </p> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">global_group_permissions</span><span class="w"> </span><span class="p">(</span><span class="n">ggp_group</span><span class="p">,</span><span class="n">ggp_permission</span><span class="p">)</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;steward&#39;</span><span class="p">,</span><span class="s1">&#39;globalgrouppermissions&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;steward&#39;</span><span class="p">,</span><span class="s1">&#39;globalgroupmembership&#39;</span><span class="p">);</span> </pre></div> <p>Then, promote some users into stewards: </p> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">IGNORE</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">global_user_groups</span><span class="w"> </span><span class="p">(</span><span class="n">gug_user</span><span class="p">,</span><span class="w"> </span><span class="n">gug_group</span><span class="p">)</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">((</span><span class="k">SELECT</span><span class="w"> </span><span class="n">gu_id</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">globaluser</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">gu_name</span><span class="o">=</span><span class="s1">&#39;Admin&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;steward&#39;</span><span class="p">);</span> </pre></div> <p>There are various settings you may wish to modify (e.g. whether to provide single sign-on across a whole domain) listed in <a href="https://gerrit.wikimedia.org/g/mediawiki/extensions/CentralAuth/%2B/HEAD/CentralAuth.php" class="extiw" title="git:mediawiki/extensions/CentralAuth/+/HEAD/CentralAuth.php">CentralAuth.php</a>. In particular, you will want to set a value for <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="nv">$wgVirtualDomainsMapping</span><span class="p">[</span><span class="s1">&#39;virtual-centralauth&#39;</span><span class="p">]</span></code>. Make sure you put such settings after the <code>wfLoadExtension</code> line in <code>LocalSettings.php</code>, e.g.: </p> <div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="nx">wfLoadExtension</span><span class="p">(</span> <span class="s1">&#39;CentralAuth&#39;</span> <span class="p">);</span> <span class="nv">$wgVirtualDomainsMapping</span><span class="p">[</span><span class="s1">&#39;virtual-centralauth&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span> <span class="s1">&#39;db&#39;</span> <span class="o">=&gt;</span> <span class="s1">&#39;centralauth&#39;</span> <span class="p">];</span> </pre></div> <div class="mw-heading mw-heading3"><h3 id="&quot;SUL2&quot;_behavior"><span id=".22SUL2.22_behavior"></span>"SUL2" behavior</h3></div> <table class="warning-message" style="background-color: var( --background-color-error-subtle, #ffe9e5 ); color: var( --color-base, #202122 ); border: 1px var( --border-color-error, #9f3526 ) solid; box-sizing: border-box; margin: 0.5em 0; padding: 0.5em;"><tbody><tr><td style="white-space: nowrap; vertical-align: top;"><span style="position: relative; top: -2px;"><span typeof="mw:File"><span><img alt="Warning" src="//upload.wikimedia.org/wikipedia/commons/thumb/b/bf/OOjs_UI_icon_notice-destructive.svg/18px-OOjs_UI_icon_notice-destructive.svg.png" decoding="async" width="18" height="18" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/b/bf/OOjs_UI_icon_notice-destructive.svg/27px-OOjs_UI_icon_notice-destructive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/b/bf/OOjs_UI_icon_notice-destructive.svg/36px-OOjs_UI_icon_notice-destructive.svg.png 2x" data-file-width="20" data-file-height="20" /></span></span></span> <b>Warning:</b> </td><td style="padding-left: 0.5em vertical-align: top;">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.</td></tr></tbody></table> <table class="warning-message" style="background-color: var( --background-color-error-subtle, #ffe9e5 ); color: var( --color-base, #202122 ); border: 1px var( --border-color-error, #9f3526 ) solid; box-sizing: border-box; margin: 0.5em 0; padding: 0.5em;"><tbody><tr><td style="white-space: nowrap; vertical-align: top;"><span style="position: relative; top: -2px;"><span typeof="mw:File"><span><img alt="Warning" src="//upload.wikimedia.org/wikipedia/commons/thumb/b/bf/OOjs_UI_icon_notice-destructive.svg/18px-OOjs_UI_icon_notice-destructive.svg.png" decoding="async" width="18" height="18" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/b/bf/OOjs_UI_icon_notice-destructive.svg/27px-OOjs_UI_icon_notice-destructive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/b/bf/OOjs_UI_icon_notice-destructive.svg/36px-OOjs_UI_icon_notice-destructive.svg.png 2x" data-file-width="20" data-file-height="20" /></span></span></span> <b>Warning:</b> </td><td style="padding-left: 0.5em vertical-align: top;">Universal sign-on may be broken in newer Google Chrome versions due to SameSite cookie policy. To fix it, you need to add: <div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="nv">$wgCookieSameSite</span> <span class="o">=</span> <span class="s2">&quot;None&quot;</span><span class="p">;</span> <span class="nv">$wgUseSameSiteLegacyCookies</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span> </pre></div> In addition, you must run your site under HTTPS.</td></tr></tbody></table> <p><br /> 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 <code>Special:CentralLogin/start?token=<i>somevalue</i></code> 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. </p><p>The settings for this are, roughly, </p> <div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="c1"># General CentralAuth configuration</span> <span class="nv">$wgCentralAuthCookies</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span> <span class="c1">// default is to use the local wiki database</span> <span class="nv">$wgVirtualDomainsMapping</span><span class="p">[</span><span class="s1">&#39;virtual-centralauth&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span> <span class="s1">&#39;db&#39;</span> <span class="o">=&gt;</span> <span class="s1">&#39;centralauthDatabaseName&#39;</span> <span class="p">];</span> <span class="nv">$wgCentralAuthAutoMigrate</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span> <span class="nv">$wgCentralAuthAutoLoginWikis</span> <span class="o">=</span> <span class="p">[</span> <span class="c1"># Mapping from domain name to wiki id for other wikis to automatically login into</span> <span class="s1">&#39;enwiki.mediawiki.mwdd.localhost&#39;</span> <span class="o">=&gt;</span> <span class="s1">&#39;enwiki&#39;</span><span class="p">,</span> <span class="p">];</span> <span class="c1"># Activates the redirect to the &quot;central login wiki&quot;</span> <span class="nv">$wgCentralAuthLoginWiki</span> <span class="o">=</span> <span class="s1">&#39;WikiIdOfLoginWiki&#39;</span><span class="p">;</span> </pre></div> <p><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthLoginWiki</span></code> is the ID (usually the database-name) of the wiki to which CentralAuth will redirect on login and create account actions. </p> <div class="mw-heading mw-heading3"><h3 id="Cache_issues">Cache issues</h3></div> <p>For best results, it is recommended to use memcached or a more persistent cache. If you have only a single server, accelerator caches (<code>CACHE_ACCEL</code>) like APCu can also work, but do not use them if you have multiple servers. If you have no cache set up (i.e. <code>CACHE_NONE</code>) for <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="nv">$wgMainCacheType</span></code>, or are using <code>CACHE_DB</code>, then you need to make sure all your wikis use the same caching table. </p><p>By default, each wiki in your wiki farm will use the <code>objectcache</code> table in its own database (with its own db prefix) when <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="nv">$wgMainCacheType</span></code> is set to <code>CACHE_NONE</code> or <code>CACHE_DB</code>. To make this work with CentralAuth, we need to tell the wikis to use a central cache table. </p><p>If you want to make a central caching table in the <code>centralauth</code> database (and assuming one of your existing wikis has a database name of <code>enwiki</code>), 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"): </p> <div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">centralauth</span><span class="p">.</span><span class="n">objectcache</span><span class="w"> </span><span class="k">LIKE</span><span class="w"> </span><span class="n">enwiki</span><span class="p">.</span><span class="n">objectcache</span> </pre></div> <p>Then add the following config to all wikis to tell them to use the central table instead of their own table: </p> <div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="nv">$wgSharedDB</span> <span class="o">=</span> <span class="s1">&#39;centralauth&#39;</span><span class="p">;</span> <span class="c1">// or whatever database you use for central data</span> <span class="nv">$wgSharedTables</span> <span class="o">=</span> <span class="p">[</span> <span class="s1">&#39;objectcache&#39;</span> <span class="p">];</span> <span class="c1">// remember to copy the table structure&#39;s to the central database first</span> <span class="nv">$wgCentralAuthSessionCacheType</span> <span class="o">=</span> <span class="nx">CACHE_DB</span><span class="p">;</span> <span class="c1">// Tell mediawiki to use objectcache database for central auth.</span> </pre></div> <p>When running <a href="/wiki/Special:MyLanguage/Manual:PHP_unit_testing/Running_the_tests" title="Special:MyLanguage/Manual:PHP unit testing/Running the tests">PHPUnit tests locally</a><span style="display:none"><a href="/wiki/Manual:PHP_unit_testing/Running_the_tests" title="Manual:PHP unit testing/Running the tests"> </a></span> 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: </p> <div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="k">if</span> <span class="p">(</span> <span class="nb">defined</span><span class="p">(</span> <span class="s1">&#39;MW_PHPUNIT_TEST&#39;</span> <span class="p">)</span> <span class="p">)</span> <span class="p">{</span> <span class="nv">$wgSharedTables</span> <span class="o">=</span> <span class="p">[];</span> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span> <span class="nv">$wgSharedTables</span> <span class="o">=</span> <span class="p">[</span> <span class="s1">&#39;objectcache&#39;</span> <span class="p">];</span> <span class="p">}</span> </pre></div> <div class="mw-heading mw-heading3"><h3 id="HTTP_and_HTTPS">HTTP and HTTPS</h3></div> <p>Since 2023, CentralAuth does not support mixed-protocol HTTP/HTTPS wikis, only pure-HTTPS wikis (with <a href="/wiki/Special:MyLanguage/Manual:$wgForceHTTPS" title="Special:MyLanguage/Manual:$wgForceHTTPS">$wgForceHTTPS</a><span style="display:none"><a href="/wiki/Manual:$wgForceHTTPS" title="Manual:$wgForceHTTPS"> </a></span> set to <code>true</code>) and pure-HTTP wikis (primarily for local testing). See <a href="https://phabricator.wikimedia.org/T348852" class="extiw" title="phab:T348852">issue T348852</a>. </p> <div class="mw-heading mw-heading3"><h3 id="Configuration">Configuration</h3></div> <div class="mw-heading mw-heading4"><h4 id="Database_Virtual_Domains_Mapping">Database Virtual Domains Mapping</h4></div> <p>Since MediaWiki 1.41, you can configure database <a href="/wiki/Manual:$wgVirtualDomainsMapping" title="Manual:$wgVirtualDomainsMapping">virtual domains mapping</a> for CentralAuth, and this <a href="https://gerrit.wikimedia.org/r/c/mediawiki/extensions/CentralAuth/%2B/973812" class="extiw" title="gerrit:c/mediawiki/extensions/CentralAuth/+/973812">replaced</a> <code>$wgCentralAuthDatabase</code>. To setup virtual domains mapping with CentralAuth, use: </p> <div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="c1">// &#39;centralauth&#39; is the name of the your CentralAuth database.</span> <span class="nv">$wgVirtualDomainsMapping</span><span class="p">[</span><span class="s1">&#39;virtual-centralauth&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span> <span class="s1">&#39;db&#39;</span> <span class="o">=&gt;</span> <span class="s1">&#39;centralauth&#39;</span> <span class="p">];</span> </pre></div> <table class="wikitable"> <caption>Configuration settings in <a href="https://gerrit.wikimedia.org/g/mediawiki/extensions/CentralAuth/%2B/HEAD/extension.json#728" class="extiw" title="git:mediawiki/extensions/CentralAuth/+/HEAD/extension.json">Extension.json Config section</a> </caption> <tbody><tr> <th>parameter </th> <th>default </th> <th>comment </th></tr> <tr> <td>(<code><b>deprecated</b></code>) <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthDatabase</span></code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="k">null</span></code> </td> <td>Database name you keep central auth data in. <p>If this is not on the primary database connection, don't forget to also set up <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgDBservers</span></code> to have an entry with a <code>groupLoads</code> setting for the <code>'CentralAuth'</code> group. Alternatively you can use <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgLBFactoryConf</span></code> to set up an <code>LBFactoryMulti</code> object. </p><p>To use a database with a table prefix, set this variable to "<code>{$database&#125;-{$prefix}</code>". </p><p>NOTE: This setting has been deprecated, use virtual domains mapping as described above. </p> </td></tr> <tr> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthAutoMigrate</span></code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="k">false</span></code> </td> <td>If <code>true</code>, existing unattached accounts will be automatically migrated if possible at first login. <p>Any new account creations will be required to attach. </p><p>If <code>false</code>, unattached accounts will not be harassed unless the individual account has opted in to migration. </p> </td></tr> <tr> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthAutoMigrateNonGlobalAccounts</span></code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="k">false</span></code> </td> <td>If <code>true</code>, 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). <p>This was formerly controlled by <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthAutoMigrate</span></code> </p> </td></tr> <tr> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthStrict</span></code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="k">false</span></code> </td> <td>If <code>true</code>, remaining accounts which have not been attached will be forbidden from logging in until they are resolved. </td></tr> <tr> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthDryRun</span></code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="k">false</span></code> </td> <td>If <code>true</code>, merging won't actually be possible through the Special:MergeAccount interface. </td></tr> <tr> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthCookies</span></code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="k">false</span></code> </td> <td>If <code>true</code>, global session and token cookies will be set alongside the per-wiki session and login tokens when users log in with a global account. <p>This allows other wikis on the same domain to transparently log them in. </p> </td></tr> <tr> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthLoginWiki</span></code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="k">false</span></code> </td> <td>Database name of a central login wiki. This is an alternative to directly setting cross-domain cookies for each wiki in <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthAutoLoginWikis</span></code>. If set, a single login wiki will use a session/cookie to handle unified login sessions across wikis. <p>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. </p><p>This requires <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthCookies</span></code>. </p> </td></tr> <tr> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthCookieDomain</span></code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="s1">&#39;&#39;</span></code> </td> <td>Domain to set global cookies for. <p>For instance, <code>'.wikipedia.org'</code> to work on all <code>wikipedia.org</code> 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. </p> </td></tr> <tr> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthCookiePrefix</span></code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="s1">&#39;centralauth_&#39;</span></code> </td> <td>Prefix for CentralAuth global authentication cookies. </td></tr> <tr> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthCookiePath</span></code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="s1">&#39;/&#39;</span></code> </td> <td>Path for CentralAuth global authentication cookies. Set this variable if you want to restrict cookies to a certain path within the domain specified by <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthCookieDomain</span></code>. </td></tr> <tr> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthAutoLoginWikis</span></code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="p">[]</span></code> </td> <td>List of wiki IDs which should be called on login to try to set third-party cookies for the global session state. <p>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. </p><p>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.). </p><p>Done by accessing <code>Special:CentralAutoLogin/start</code> on each wiki. </p><p>If empty, no other wikis will be hit. </p><p>The key should be set to the cookie domain name. </p> </td></tr> <tr> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthAutoCreateWikis</span></code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="p">[]</span></code> </td> <td>List of wiki IDs on which an attached local account should be created automatically when the global account is created. <p>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. </p> </td></tr> <tr> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthLoginIcon</span></code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="k">false</span></code> </td> <td>Local filesystem path to the icon returned by <code>Special:CentralAutoLogin</code> should be a 20x20px PNG. </td></tr> <tr> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthPrefsForUIReload</span></code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="p">[</span> <span class="s1">&#39;skin&#39;</span><span class="p">,</span> <span class="s1">&#39;language&#39;</span><span class="p">,</span> <span class="s1">&#39;thumbsize&#39;</span><span class="p">,</span> <span class="s1">&#39;underline&#39;</span><span class="p">,</span> <span class="s1">&#39;stubthreshold&#39;</span><span class="p">,</span> <span class="s1">&#39;showhiddencats&#39;</span><span class="p">,</span> <span class="s1">&#39;justify&#39;</span><span class="p">,</span> <span class="s1">&#39;numberheadings&#39;</span><span class="p">,</span> <span class="s1">&#39;editondblclick&#39;</span><span class="p">,</span> <span class="s1">&#39;editsection&#39;</span><span class="p">,</span> <span class="s1">&#39;editsectiononrightclick&#39;</span><span class="p">,</span> <span class="s1">&#39;usenewrc&#39;</span><span class="p">,</span> <span class="s1">&#39;extendwatchlist&#39;</span> <span class="p">]</span></code> </td> <td>User preferences for which we should recommend reloading the page after a successful central login query. <p>If you need to do something more complicated than just <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="nv">$userOptionsLookup</span><span class="o">-&gt;</span><span class="na">getOption</span><span class="p">(</span> <span class="nv">$user</span><span class="p">,</span> <span class="nv">$pref</span> <span class="p">)</span> <span class="o">!==</span> <span class="nv">$userOptionsLookup</span><span class="o">-&gt;</span><span class="na">getDefaultOption</span><span class="p">(</span> <span class="nv">$pref</span> <span class="p">)</span></code>, use the hook <code>CentralAuthIsUIReloadRecommended</code>. </p> </td></tr> <tr> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthRC</span></code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="p">[]</span></code> </td> <td>Array of settings for sending the CentralAuth events to the RC Feeds. <p><code>@example $wgRCFeeds['example'] = [ 'uri' =&gt; "udp://localhost:1336" ];</code> </p> </td></tr> <tr> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthWikisPerSuppressJob</span></code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="mi">10</span></code> </td> <td>Size of wikis handled in one suppress user job. Keep in mind that one wiki requires <code>~10</code> queries. </td></tr> <tr> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthReadOnly</span></code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="k">false</span></code> </td> <td>Like <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgReadOnly</span></code>, used to set extension to database read only mode. <p><code>@var bool</code> </p> </td></tr> <tr> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthEnableGlobalRenameRequest</span></code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="k">false</span></code> </td> <td>Feature flag for <code>Special:GlobalRenameRequest</code>. <p><code>@var bool</code> </p> </td></tr> <tr> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthGlobalPasswordPolicies</span></code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="p">[]</span></code> </td> <td>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. <p><code>@var array</code> </p> </td></tr> <tr> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgGlobalRenameDenylist</span></code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="k">null</span></code> </td> <td>A list of users who won't be allowed to create new global rename requests through Special:GlobalRenameRequest. <p>There are two ways to set it: </p> <ul><li>Using a wiki-page: use a <a href="/wiki/Special:MyLanguage/Manual:Title.php" title="Special:MyLanguage/Manual:Title.php">Title</a> object to have a wiki-page (<code>MediaWiki:GlobalRenameDenylist</code> for example) as the banned-list. The wiki-page must be a list with one item per line, and must exist otherwise <code>Special:GlobalRenameRequest</code> will throw a <a href="/wiki/Special:MyLanguage/Manual:MWException.php" title="Special:MyLanguage/Manual:MWException.php">MWException</a>. <br />Example: <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgGlobalRenameDenylist</span> <span class="o">=</span> <span class="nx">Title</span><span class="o">::</span><span class="na">makeTitle</span><span class="p">(</span> <span class="nx">NS_MEDIAWIKI</span><span class="p">,</span> <span class="s1">&#39;GlobalRenameDenylist&#39;</span> <span class="p">);</span></code>.</li> <li>Using a URL: put a complete URL which must return, using HTTP, a plain-text list of the banned users (and nothing else).<br />For example, with a URL pointing to a wiki page: <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgGlobalRenameDenylist</span> <span class="o">=</span> <span class="s2">&quot;https://yourwiki/yourpath/index.php?title=MediaWiki:GlobalRenameDenylist&amp;action=raw&quot;</span><span class="p">;</span></code></li></ul> <p>You can use the exact names or regular expressions. </p><p><code>@var Title|string|null</code> </p> </td></tr> <tr> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthGlobalBlockInterwikiPrefix</span></code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="s2">&quot;global&quot;</span></code> </td> <td>When globally suppressing a user, a block against this user is inserted in all wikis. CentralAuth will set the author of theses blocks as <code>$wgCentralAuthGlobalBlockInterwikiPrefix&gt;(user-who-made-the-suppression's nickname)</code>. For example, if <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthGlobalBlockInterwikiPrefix</span> <span class="o">=</span> <span class="s2">&quot;Admins&quot;</span><span class="p">;</span></code>, and Joe suppresses John, all wikis will show in <span class="plainlinks"><a class="external text" href="https://www.mediawiki.org/wiki/Special:BlockList">BlockList</a></span> a block against John made by <code>Admins&gt;Joe</code>. <p><code>@var string</code> </p> </td></tr></tbody></table> <div class="mw-heading mw-heading2"><h2 id="Use">Use</h2></div> <p>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. </p><p>This extension also implements global user groups, to which global accounts can belong to. </p> <div class="mw-heading mw-heading3"><h3 id="User_rights">User rights</h3></div> <p>CentralAuth defines several new user rights: </p> <table class="wikitable"> <tbody><tr> <th>User right </th> <th>Abilities </th> <th>Default group </th> <th>Status </th></tr> <tr> <td><code>centralauth-createlocal</code> </td> <td>Forcibly create a local account for a global account </td> <td>Stewards and sysops </td> <td>Active in MW 1.36+ </td></tr> <tr> <td><code>centralauth-lock</code> </td> <td>Prevent users from logging in on any wiki </td> <td>Stewards </td> <td>Active </td></tr> <tr> <td><code>centralauth-suppress</code> </td> <td>Suppress or unhide global accounts </td> <td>Stewards </td> <td>Active </td></tr> <tr> <td><code>centralauth-rename</code> </td> <td>Rename global accounts </td> <td>Stewards </td> <td>Active </td></tr> <tr> <td><code>centralauth-unmerge</code> </td> <td>Unmerge global accounts from a local account </td> <td>Stewards </td> <td>Active </td></tr> <tr> <td><code>centralauth-merge</code> </td> <td>Merge all CentralAuth accounts globally </td> <td>All users </td> <td>Active; usually automatic </td></tr> <tr> <td><code>globalgrouppermissions</code> </td> <td>Manage permissions of global groups </td> <td>Global Stewards </td> <td>Active; not assigned to local stewards by default </td></tr> <tr> <td><code>globalgroupmembership</code> </td> <td>Edit membership to global groups </td> <td>Global Stewards </td> <td>Active; not assigned to local stewards by default </td></tr></tbody></table> <div class="mw-heading mw-heading2"><h2 id="Functions">Functions</h2></div> <div class="mw-heading mw-heading3"><h3 id="Single-user_login_(SUL)"><span id="Single-user_login_.28SUL.29"></span>Single-user login (SUL)</h3></div> <p>A user with an account on more than one wiki may use <a href="/wiki/Special:MergeAccount" title="Special:MergeAccount">Special:MergeAccount</a> to create their global user account, which can then be used on any wiki. Users with the <code>centralauth-unmerge</code> 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. </p> <div class="mw-heading mw-heading3"><h3 id="Locking_and_hiding_global_users">Locking and hiding global users</h3></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Screenshot_of_the_CentralAuth_interface.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/a/a6/Screenshot_of_the_CentralAuth_interface.png/220px-Screenshot_of_the_CentralAuth_interface.png" decoding="async" width="220" height="234" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/a/a6/Screenshot_of_the_CentralAuth_interface.png/330px-Screenshot_of_the_CentralAuth_interface.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/a/a6/Screenshot_of_the_CentralAuth_interface.png/440px-Screenshot_of_the_CentralAuth_interface.png 2x" data-file-width="1172" data-file-height="1247" /></a><figcaption>Screenshot of <a href="https://meta.wikimedia.org/wiki/Special:CentralAuth" class="extiw" title="m:Special:CentralAuth">Special:CentralAuth</a> interface on Meta-Wiki, showing lock/hide interface.</figcaption></figure> <p>A global account can be <i>locked</i> or <i>hidden</i> by a user with the <code>centralauth-lock</code> and <code>centralauth-suppress</code> permissions, respectively, given to the <i>local</i> 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. </p> <div class="mw-heading mw-heading3"><h3 id="Wiki_sets">Wiki sets</h3></div> <p>A <i>wiki set</i> is a group of wikis specified by a user with the <code>globalgrouppermissions</code> right. Sets can be <i>opt-in</i> (wikis are not in it by default) or <i>opt-out</i> (wikis are in it unless opted out). </p> <div class="mw-heading mw-heading3"><h3 id="Global_user_groups">Global user groups</h3></div> <p>Once you have enabled global user groups as described in the installation section, a migrated steward can use the <a href="/wiki/Special:GlobalGroupPermissions" title="Special:GlobalGroupPermissions">Special:GlobalGroupPermissions</a> 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 <i>not</i> listed at <a href="/wiki/Special:ListUsers" title="Special:ListUsers">Special:ListUsers</a>, but instead <a href="/wiki/Special:GlobalUsers" title="Special:GlobalUsers">Special:GlobalUsers</a>. They are assigned by a user with the <code>globalgroupmembership</code> permission (by default the global group <code>stewards</code>), and give the specified rights to the user even if the local rights defined by <code><a href="/wiki/Special:MyLanguage/Manual:$wgGroupPermissions" title="Special:MyLanguage/Manual:$wgGroupPermissions">$wgGroupPermissions</a><span style="display:none"><a href="/wiki/Manual:$wgGroupPermissions" title="Manual:$wgGroupPermissions"> </a></span></code> do not do so. </p> <div class="mw-heading mw-heading2"><h2 id="Licensing_and_downloads">Licensing and downloads</h2></div> <p>The extension is available under the GNU General Public License 2.0 or later, and can be <a href="/wiki/Special:MyLanguage/Download_from_Git" title="Special:MyLanguage/Download from Git">downloaded from Git</a>, or accessed via the <a href="https://gerrit.wikimedia.org/g/mediawiki/extensions/CentralAuth/%2B/HEAD/" class="extiw" title="git:mediawiki/extensions/CentralAuth/+/HEAD/">web-based viewer</a>. </p><p>The software is provided as-is. Updates will be made according to the needs of Wikimedia wikis; or where critical vulnerabilities are discovered. </p> <div class="mw-heading mw-heading2"><h2 id="API">API</h2></div> <p>See <a href="/wiki/Special:MyLanguage/Extension:CentralAuth/API" title="Special:MyLanguage/Extension:CentralAuth/API">Extension:CentralAuth/API</a><span style="display:none"><a href="/wiki/Extension:CentralAuth/API" title="Extension:CentralAuth/API"> </a></span>. </p> <div class="mw-heading mw-heading2"><h2 id="References">References</h2></div> <div class="mw-references-wrap"><ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><a href="https://lists.wikimedia.org/pipermail/mediawiki-l/2008-October/028805.html" class="extiw" title="mailarchive:mediawiki-l/2008-October/028805.html">[Mediawiki-l] CentralAuth problems: Help required</a></span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text"><a href="https://lists.wikimedia.org/pipermail/mediawiki-l/2008-October/028894.html" class="extiw" title="mailarchive:mediawiki-l/2008-October/028894.html">[Mediawiki-l] Need help with CentralAuth</a></span> </li> </ol></div> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div> <ul><li><a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/Help:Unified_login" class="extiw" title="m:Special:MyLanguage/Help:Unified login">Help:Unified login</a> on Meta-Wiki</li> <li><a href="/wiki/Special:MyLanguage/Extension:CentralAuth/authentication" title="Special:MyLanguage/Extension:CentralAuth/authentication">Extension:CentralAuth/authentication</a><span style="display:none"><a href="/wiki/Extension:CentralAuth/authentication" title="Extension:CentralAuth/authentication"> </a></span> - CentralAuth authentication features</li> <li><code><a href="/wiki/Special:MyLanguage/Manual:$wgSharedDB" title="Special:MyLanguage/Manual:$wgSharedDB">$wgSharedDB</a><span style="display:none"><a href="/wiki/Manual:$wgSharedDB" title="Manual:$wgSharedDB"> </a></span></code></li> <li><a href="/wiki/User:Legoktm/evil-plans2.txt" title="User:Legoktm/evil-plans2.txt">User:Legoktm/evil-plans2.txt</a> - 2015 plan to phase out CentralAuth at WMF</li> <li><a href="/wiki/Special:MyLanguage/Global_session_threat_assessment" title="Special:MyLanguage/Global session threat assessment">Global session threat assessment</a><span style="display:none"><a href="/wiki/Global_session_threat_assessment" class="mw-redirect" title="Global session threat assessment"> </a></span></li> <li><a href="https://en.wikipedia.org/wiki/Wikipedia:Integrated_watchlists" class="extiw" title="w:Wikipedia:Integrated watchlists">Integrated watchlists</a></li> <li><a href="/wiki/Special:MyLanguage/Extension:CentralAuth/control_flow" title="Special:MyLanguage/Extension:CentralAuth/control flow">CentralAuth control flow</a></li> <li><a href="https://wikitech.wikimedia.org/wiki/Stuck_global_renames" class="extiw" title="wikitech:Stuck global renames">Stuck global renames</a></li></ul> <style data-mw-deduplicate="TemplateStyles:r6651108">.mw-parser-output table.ombox{margin:4px 10%;border-collapse:collapse;border:1px solid #a2a9b1;background-color:#f8f9fa;color:#333;box-sizing:border-box}.mw-parser-output .ombox td.mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ombox th.mbox-text,.mw-parser-output .ombox td.mbox-text{border:none;padding:0.25em 0.9em;width:100%}.mw-parser-output .ombox td.mbox-image{border:none;text-align:center;padding:2px 0 2px 0.9em}.mw-parser-output .ombox td.mbox-imageright{border:none;text-align:center;padding:2px 0.9em 2px 0}.mw-parser-output table.ombox-notice{border-color:#a2a9b1}.mw-parser-output table.ombox-speedy{background-color:#fee7e6;color:#333}.mw-parser-output table.ombox-speedy,.mw-parser-output table.ombox-delete{border-color:#b32424;border-width:2px}.mw-parser-output table.ombox-content{border-color:#f28500}.mw-parser-output table.ombox-style{border-color:#fc3}.mw-parser-output table.ombox-move{border-color:#9932cc}.mw-parser-output table.ombox-protection{border-color:#a2a9b1;border-width:2px}html body.mediawiki .mw-parser-output .ombox.mbox-small{clear:right;float:right;margin:4px 0 4px 1em;box-sizing:border-box;width:238px;font-size:88%;line-height:1.25em}@media screen{html.skin-theme-clientpref-night .mw-parser-output table.ombox{background-color:transparent;color:inherit}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output table.ombox{background-color:transparent;color:inherit}}</style><table class="ombox ombox-notice plainlinks" role="presentation" style="clear: both; margin-top: 0; margin-bottom: 0;"><tbody><tr><td class="mbox-image"><span class="skin-invert-image" typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Wikimedia-logo_black.svg/40px-Wikimedia-logo_black.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Wikimedia-logo_black.svg/60px-Wikimedia-logo_black.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Wikimedia-logo_black.svg/80px-Wikimedia-logo_black.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span></td><td class="mbox-text">This extension is being used on one or more <a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/Wikimedia_projects" class="extiw" title="m:Special:MyLanguage/Wikimedia projects">Wikimedia projects</a>. This probably means that the extension is stable and works well enough to be used by such high-traffic websites. Look for this extension's name in Wikimedia's <a class="external text" href="https://noc.wikimedia.org/conf/highlight.php?file=CommonSettings.php">CommonSettings.php</a> and <a class="external text" href="https://noc.wikimedia.org/conf/highlight.php?file=InitialiseSettings.php">InitialiseSettings.php</a> configuration files to see where it's installed. A full list of the extensions installed on a particular wiki can be seen on the wiki's <a href="/wiki/Special:Version" title="Special:Version">Special:Version</a> page.</td></tr></tbody></table> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r6651108"><table class="ombox ombox-notice" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/e/ec/OOjs_UI_icon_information-progressive.svg/40px-OOjs_UI_icon_information-progressive.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/ec/OOjs_UI_icon_information-progressive.svg/60px-OOjs_UI_icon_information-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/ec/OOjs_UI_icon_information-progressive.svg/80px-OOjs_UI_icon_information-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></span></span></td><td class="mbox-text">This extension is included in the following wiki farms/hosts and/or packages: <style data-mw-deduplicate="TemplateStyles:r6387430">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li,.mw-parser-output .hlist .mw-empty-elt{display:none}.mw-parser-output .hlist dt:after{content:": "}.mw-parser-output .hlist dd:after,.mw-parser-output .hlist li:after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child:after,.mw-parser-output .hlist dt:last-child:after,.mw-parser-output .hlist li:last-child:after{content:none}.mw-parser-output .hlist dd dd:first-child:before,.mw-parser-output .hlist dd dt:first-child:before,.mw-parser-output .hlist dd li:first-child:before,.mw-parser-output .hlist dt dd:first-child:before,.mw-parser-output .hlist dt dt:first-child:before,.mw-parser-output .hlist dt li:first-child:before,.mw-parser-output .hlist li dd:first-child:before,.mw-parser-output .hlist li dt:first-child:before,.mw-parser-output .hlist li li:first-child:before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child:after,.mw-parser-output .hlist dd dt:last-child:after,.mw-parser-output .hlist dd li:last-child:after,.mw-parser-output .hlist dt dd:last-child:after,.mw-parser-output .hlist dt dt:last-child:after,.mw-parser-output .hlist dt li:last-child:after,.mw-parser-output .hlist li dd:last-child:after,.mw-parser-output .hlist li dt:last-child:after,.mw-parser-output .hlist li li:last-child:after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li:before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child:before,.mw-parser-output .hlist dt ol>li:first-child:before,.mw-parser-output .hlist li ol>li:first-child:before{content:" ("counter(listitem)"\a0 "}</style><div class="hlist"> <ul><li><a href="/wiki/Special:MyLanguage/Miraheze" title="Special:MyLanguage/Miraheze">Miraheze</a><span style="display:none"><a href="/wiki/Miraheze" title="Miraheze"> </a></span></li> <li><a rel="nofollow" class="external text" href="https://telepedia.net/">Telepedia</a></li> <li><a rel="nofollow" class="external text" href="https://wikiforge.net/">WikiForge</a></li></ul> </div> <small>This is not an authoritative list.</small> <small>Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here.</small> <small>Always check with your wiki farms/hosts or bundle to confirm.</small></td></tr></tbody></table> <!-- NewPP limit report Parsed by mw‐api‐int.codfw.main‐849f99967d‐pz2cs Cached time: 20241123151744 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 1.304 seconds Real time usage: 1.555 seconds Preprocessor visited node count: 12001/1000000 Post‐expand include size: 238861/2097152 bytes Template argument size: 46058/2097152 bytes Highest expansion depth: 20/100 Expensive parser function count: 89/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 34415/5000000 bytes Lua time usage: 0.659/10.000 seconds Lua memory usage: 16721077/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 1038.009 1 -total 76.77% 796.865 1 Template:Extension 34.82% 361.435 136 Template:Ll 34.47% 357.848 214 Template:Pagelang 25.91% 268.967 294 Template:Translatable 10.33% 107.188 2 Template:Mbox 7.09% 73.589 1 Template:Used_by 6.45% 66.957 1 Template:Flatlist 4.08% 42.335 1 Template:OnWikimedia 2.86% 29.652 1 Template:Foreach --> <!-- Saved in parser cache with key mediawikiwiki:pcache:idhash:10891-0!canonical and timestamp 20241123151744 and revision id 6769242. Rendering was triggered because: api-parse --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://www.mediawiki.org/w/index.php?title=Extension:CentralAuth&amp;oldid=6769242">https://www.mediawiki.org/w/index.php?title=Extension:CentralAuth&amp;oldid=6769242</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Special:Categories" title="Special:Categories">Categories</a>: <ul><li><a href="/wiki/Category:Stable_extensions" title="Category:Stable extensions">Stable extensions</a></li><li><a href="/wiki/Category:User_identity_extensions" title="Category:User identity extensions">User identity extensions</a></li><li><a href="/wiki/Category:Database_extensions" title="Category:Database extensions">Database extensions</a></li><li><a href="/wiki/Category:Special_page_extensions" title="Category:Special page extensions">Special page extensions</a></li><li><a href="/wiki/Category:API_extensions" title="Category:API extensions">API extensions</a></li><li><a href="/wiki/Category:GPL_licensed_extensions" title="Category:GPL licensed extensions">GPL licensed extensions</a></li><li><a href="/wiki/Category:Extensions_in_Wikimedia_version_control" title="Category:Extensions in Wikimedia version control">Extensions in Wikimedia version control</a></li><li><a href="/wiki/Category:APIGetAllowedParams_extensions" title="Category:APIGetAllowedParams extensions">APIGetAllowedParams extensions</a></li><li><a href="/wiki/Category:AbuseFilter-builder_extensions" title="Category:AbuseFilter-builder extensions">AbuseFilter-builder extensions</a></li><li><a href="/wiki/Category:AbuseFilter-computeVariable_extensions" title="Category:AbuseFilter-computeVariable extensions">AbuseFilter-computeVariable extensions</a></li><li><a href="/wiki/Category:AbuseFilter-generateUserVars_extensions" title="Category:AbuseFilter-generateUserVars extensions">AbuseFilter-generateUserVars extensions</a></li><li><a href="/wiki/Category:AbuseFilterAlterVariables_extensions" title="Category:AbuseFilterAlterVariables extensions">AbuseFilterAlterVariables extensions</a></li><li><a href="/wiki/Category:AbuseFilterShouldFilterAction_extensions" title="Category:AbuseFilterShouldFilterAction extensions">AbuseFilterShouldFilterAction extensions</a></li><li><a href="/wiki/Category:ApiCheckCanExecute_extensions" title="Category:ApiCheckCanExecute extensions">ApiCheckCanExecute extensions</a></li><li><a href="/wiki/Category:ApiQueryTokensRegisterTypes_extensions" title="Category:ApiQueryTokensRegisterTypes extensions">ApiQueryTokensRegisterTypes extensions</a></li><li><a href="/wiki/Category:AuthChangeFormFields_extensions" title="Category:AuthChangeFormFields extensions">AuthChangeFormFields extensions</a></li><li><a href="/wiki/Category:AuthManagerFilterProviders_extensions" title="Category:AuthManagerFilterProviders extensions">AuthManagerFilterProviders extensions</a></li><li><a href="/wiki/Category:AuthManagerVerifyAuthentication_extensions" title="Category:AuthManagerVerifyAuthentication extensions">AuthManagerVerifyAuthentication extensions</a></li><li><a href="/wiki/Category:AuthPreserveQueryParams_extensions" title="Category:AuthPreserveQueryParams extensions">AuthPreserveQueryParams extensions</a></li><li><a href="/wiki/Category:AutopromoteCondition_extensions" title="Category:AutopromoteCondition extensions">AutopromoteCondition extensions</a></li><li><a href="/wiki/Category:BeforePageDisplay_extensions" title="Category:BeforePageDisplay extensions">BeforePageDisplay extensions</a></li><li><a href="/wiki/Category:ContentSecurityPolicyDefaultSource_extensions" title="Category:ContentSecurityPolicyDefaultSource extensions">ContentSecurityPolicyDefaultSource extensions</a></li><li><a href="/wiki/Category:ContentSecurityPolicyScriptSource_extensions" title="Category:ContentSecurityPolicyScriptSource extensions">ContentSecurityPolicyScriptSource extensions</a></li><li><a href="/wiki/Category:ContributionsToolLinks_extensions" title="Category:ContributionsToolLinks extensions">ContributionsToolLinks extensions</a></li><li><a href="/wiki/Category:GetLocalURL_extensions" title="Category:GetLocalURL extensions">GetLocalURL extensions</a></li><li><a href="/wiki/Category:GetLogTypesOnUser_extensions" title="Category:GetLogTypesOnUser extensions">GetLogTypesOnUser extensions</a></li><li><a href="/wiki/Category:GetPreferences_extensions" title="Category:GetPreferences extensions">GetPreferences extensions</a></li><li><a href="/wiki/Category:GetUserBlock_extensions" title="Category:GetUserBlock extensions">GetUserBlock extensions</a></li><li><a href="/wiki/Category:ImportHandleUnknownUser_extensions" title="Category:ImportHandleUnknownUser extensions">ImportHandleUnknownUser extensions</a></li><li><a href="/wiki/Category:InvalidateEmailComplete_extensions" title="Category:InvalidateEmailComplete extensions">InvalidateEmailComplete extensions</a></li><li><a href="/wiki/Category:LoadExtensionSchemaUpdates_extensions" title="Category:LoadExtensionSchemaUpdates extensions">LoadExtensionSchemaUpdates extensions</a></li><li><a href="/wiki/Category:LocalUserCreated_extensions" title="Category:LocalUserCreated extensions">LocalUserCreated extensions</a></li><li><a href="/wiki/Category:LogEventsListGetExtraInputs_extensions" title="Category:LogEventsListGetExtraInputs extensions">LogEventsListGetExtraInputs extensions</a></li><li><a href="/wiki/Category:MakeGlobalVariablesScript_extensions" title="Category:MakeGlobalVariablesScript extensions">MakeGlobalVariablesScript extensions</a></li><li><a href="/wiki/Category:OtherBlockLogLink_extensions" title="Category:OtherBlockLogLink extensions">OtherBlockLogLink extensions</a></li><li><a href="/wiki/Category:PasswordPoliciesForUser_extensions" title="Category:PasswordPoliciesForUser extensions">PasswordPoliciesForUser extensions</a></li><li><a href="/wiki/Category:PostLoginRedirect_extensions" title="Category:PostLoginRedirect extensions">PostLoginRedirect extensions</a></li><li><a href="/wiki/Category:RenameUserComplete_extensions" title="Category:RenameUserComplete extensions">RenameUserComplete extensions</a></li><li><a href="/wiki/Category:RenameUserPreRename_extensions" title="Category:RenameUserPreRename extensions">RenameUserPreRename extensions</a></li><li><a href="/wiki/Category:RenameUserWarning_extensions" title="Category:RenameUserWarning extensions">RenameUserWarning extensions</a></li><li><a href="/wiki/Category:ResourceLoaderForeignApiModules_extensions" title="Category:ResourceLoaderForeignApiModules extensions">ResourceLoaderForeignApiModules extensions</a></li><li><a href="/wiki/Category:ResourceLoaderModifyEmbeddedSourceUrls_extensions" title="Category:ResourceLoaderModifyEmbeddedSourceUrls extensions">ResourceLoaderModifyEmbeddedSourceUrls extensions</a></li><li><a href="/wiki/Category:SecurePoll_GetUserParams_extensions" title="Category:SecurePoll GetUserParams extensions">SecurePoll GetUserParams extensions</a></li><li><a href="/wiki/Category:SessionCheckInfo_extensions" title="Category:SessionCheckInfo extensions">SessionCheckInfo extensions</a></li><li><a href="/wiki/Category:SetupAfterCache_extensions" title="Category:SetupAfterCache extensions">SetupAfterCache extensions</a></li><li><a href="/wiki/Category:SpecialContributionsBeforeMainOutput_extensions" title="Category:SpecialContributionsBeforeMainOutput extensions">SpecialContributionsBeforeMainOutput extensions</a></li><li><a href="/wiki/Category:SpecialLogAddLogSearchRelations_extensions" title="Category:SpecialLogAddLogSearchRelations extensions">SpecialLogAddLogSearchRelations extensions</a></li><li><a href="/wiki/Category:SpecialPageBeforeExecute_extensions" title="Category:SpecialPageBeforeExecute extensions">SpecialPageBeforeExecute extensions</a></li><li><a href="/wiki/Category:SpecialPage_initList_extensions" title="Category:SpecialPage initList extensions">SpecialPage initList extensions</a></li><li><a href="/wiki/Category:SpecialPasswordResetOnSubmit_extensions" title="Category:SpecialPasswordResetOnSubmit extensions">SpecialPasswordResetOnSubmit extensions</a></li><li><a href="/wiki/Category:TempUserCreatedRedirect_extensions" title="Category:TempUserCreatedRedirect extensions">TempUserCreatedRedirect extensions</a></li><li><a href="/wiki/Category:TestCanonicalRedirect_extensions" title="Category:TestCanonicalRedirect extensions">TestCanonicalRedirect extensions</a></li><li><a href="/wiki/Category:UnitTestsAfterDatabaseSetup_extensions" title="Category:UnitTestsAfterDatabaseSetup extensions">UnitTestsAfterDatabaseSetup extensions</a></li><li><a href="/wiki/Category:UnitTestsBeforeDatabaseTeardown_extensions" title="Category:UnitTestsBeforeDatabaseTeardown extensions">UnitTestsBeforeDatabaseTeardown extensions</a></li><li><a href="/wiki/Category:UserArrayFromResult_extensions" title="Category:UserArrayFromResult extensions">UserArrayFromResult extensions</a></li><li><a href="/wiki/Category:UserEditCountUpdate_extensions" title="Category:UserEditCountUpdate extensions">UserEditCountUpdate extensions</a></li><li><a href="/wiki/Category:UserGetEmail_extensions" title="Category:UserGetEmail extensions">UserGetEmail extensions</a></li><li><a href="/wiki/Category:UserGetEmailAuthenticationTimestamp_extensions" title="Category:UserGetEmailAuthenticationTimestamp extensions">UserGetEmailAuthenticationTimestamp extensions</a></li><li><a href="/wiki/Category:UserGetReservedNames_extensions" title="Category:UserGetReservedNames extensions">UserGetReservedNames extensions</a></li><li><a href="/wiki/Category:UserGetRights_extensions" title="Category:UserGetRights extensions">UserGetRights extensions</a></li><li><a href="/wiki/Category:UserIsBot_extensions" title="Category:UserIsBot extensions">UserIsBot extensions</a></li><li><a href="/wiki/Category:UserIsLocked_extensions" title="Category:UserIsLocked extensions">UserIsLocked extensions</a></li><li><a href="/wiki/Category:UserLoginComplete_extensions" title="Category:UserLoginComplete extensions">UserLoginComplete extensions</a></li><li><a href="/wiki/Category:UserLogout_extensions" title="Category:UserLogout extensions">UserLogout extensions</a></li><li><a href="/wiki/Category:UserLogoutComplete_extensions" title="Category:UserLogoutComplete extensions">UserLogoutComplete extensions</a></li><li><a href="/wiki/Category:UserSaveSettings_extensions" title="Category:UserSaveSettings extensions">UserSaveSettings extensions</a></li><li><a href="/wiki/Category:UserSetEmail_extensions" title="Category:UserSetEmail extensions">UserSetEmail extensions</a></li><li><a href="/wiki/Category:UserSetEmailAuthenticationTimestamp_extensions" title="Category:UserSetEmailAuthenticationTimestamp extensions">UserSetEmailAuthenticationTimestamp extensions</a></li><li><a href="/wiki/Category:GetUserPermissionsErrors_extensions" title="Category:GetUserPermissionsErrors extensions">GetUserPermissionsErrors extensions</a></li><li><a href="/wiki/Category:GetUserPermissionsErrorsExpensive_extensions" title="Category:GetUserPermissionsErrorsExpensive extensions">GetUserPermissionsErrorsExpensive extensions</a></li><li><a href="/wiki/Category:All_extensions" title="Category:All extensions">All extensions</a></li><li><a href="/wiki/Category:Extensions_used_on_Wikimedia" title="Category:Extensions used on Wikimedia">Extensions used on Wikimedia</a></li><li><a href="/wiki/Category:Extensions_included_in_Miraheze" title="Category:Extensions included in Miraheze">Extensions included in Miraheze</a></li><li><a href="/wiki/Category:Extensions_included_in_Telepedia" title="Category:Extensions included in Telepedia">Extensions included in Telepedia</a></li><li><a href="/wiki/Category:Extensions_included_in_WikiForge" title="Category:Extensions included in WikiForge">Extensions included in WikiForge</a></li><li><a href="/wiki/Category:CentralIdLookup_providers" title="Category:CentralIdLookup providers">CentralIdLookup providers</a></li><li><a href="/wiki/Category:Login_extensions" title="Category:Login extensions">Login extensions</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden category: <ul><li><a href="/wiki/Category:Extensions_with_release_branches_compatibility_policy" title="Category:Extensions with release branches compatibility policy">Extensions with release branches compatibility policy</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 23 September 2024, at 22:05.</li> <li id="footer-info-copyright">Text is available under the <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-ShareAlike License</a>; additional terms may apply. Text in <a class="external text" href="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents">the Help: namespace</a> is available under the <a rel="nofollow" class="external text" href="https://creativecommons.org/publicdomain/zero/1.0/">Creative Commons CC0 License</a>. By using this site, you agree to the <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use">Terms of Use</a> and <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy Policy</a>.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Project:About">About mediawiki.org</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Project:General_disclaimer">Disclaimers</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://www.mediawiki.org/wiki/Special:MyLanguage/Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/www.mediawiki.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//m.mediawiki.org/w/index.php?title=Extension:CentralAuth&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-f69cdc8f6-rhwrx","wgBackendResponseTime":134,"wgPageParseReport":{"limitreport":{"cputime":"1.304","walltime":"1.555","ppvisitednodes":{"value":12001,"limit":1000000},"postexpandincludesize":{"value":238861,"limit":2097152},"templateargumentsize":{"value":46058,"limit":2097152},"expansiondepth":{"value":20,"limit":100},"expensivefunctioncount":{"value":89,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":34415,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 1038.009 1 -total"," 76.77% 796.865 1 Template:Extension"," 34.82% 361.435 136 Template:Ll"," 34.47% 357.848 214 Template:Pagelang"," 25.91% 268.967 294 Template:Translatable"," 10.33% 107.188 2 Template:Mbox"," 7.09% 73.589 1 Template:Used_by"," 6.45% 66.957 1 Template:Flatlist"," 4.08% 42.335 1 Template:OnWikimedia"," 2.86% 29.652 1 Template:Foreach"]},"scribunto":{"limitreport-timeusage":{"value":"0.659","limit":"10.000"},"limitreport-memusage":{"value":16721077,"limit":52428800}},"cachereport":{"origin":"mw-api-int.codfw.main-849f99967d-pz2cs","timestamp":"20241123151744","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10