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":[".\t,","٫\t٬"],"wgDigitTransformTable":[ "0\t1\t2\t3\t4\t5\t6\t7\t8\t9\t%","۰\t۱\t۲\t۳\t۴\t۵\t۶\t۷\t۸\t۹\t٪"],"wgDefaultDateFormat":"dmy","wgMonthNames":["","ژانویه","فوریه","مارس","آوریل","مه","ژوئن","ژوئیه","اوت","سپتامبر","اکتبر","نوامبر","دسامبر"],"wgRequestId":"5f57dc76-3cc0-4596-a068-e928d1e0be03","wgCanonicalNamespace":"Extension","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":102,"wgPageName":"Extension:CentralAuth/fa","wgTitle":"CentralAuth/fa","wgCurRevisionId":6769345,"wgRevisionId":6769345,"wgArticleId":1512871,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Stable extensions/fa","User identity extensions/fa","Database extensions/fa","Special page extensions/fa","API extensions/fa","GPL licensed extensions/fa","Extensions in Wikimedia version control/fa","APIGetAllowedParams extensions/fa","AbuseFilter-builder extensions/fa","AbuseFilter-computeVariable extensions/fa", "AbuseFilter-generateUserVars extensions/fa","AbuseFilterAlterVariables extensions/fa","AbuseFilterShouldFilterAction extensions/fa","ApiCheckCanExecute extensions/fa","ApiQueryTokensRegisterTypes extensions/fa","AuthChangeFormFields extensions/fa","AuthManagerFilterProviders extensions/fa","AuthManagerVerifyAuthentication extensions/fa","AuthPreserveQueryParams extensions/fa","AutopromoteCondition extensions/fa","BeforePageDisplay extensions/fa","ContentSecurityPolicyDefaultSource extensions/fa","ContentSecurityPolicyScriptSource extensions/fa","ContributionsToolLinks extensions/fa","GetLocalURL extensions/fa","GetLogTypesOnUser extensions/fa","GetPreferences extensions/fa","GetUserBlock extensions/fa","ImportHandleUnknownUser extensions/fa","InvalidateEmailComplete extensions/fa","LoadExtensionSchemaUpdates extensions/fa","LocalUserCreated extensions/fa","LogEventsListGetExtraInputs extensions/fa","MakeGlobalVariablesScript extensions/fa","OtherBlockLogLink extensions/fa", "PasswordPoliciesForUser extensions/fa","PostLoginRedirect extensions/fa","RenameUserComplete extensions/fa","RenameUserPreRename extensions/fa","RenameUserWarning extensions/fa","ResourceLoaderForeignApiModules extensions/fa","ResourceLoaderModifyEmbeddedSourceUrls extensions/fa","SecurePoll GetUserParams extensions/fa","SessionCheckInfo extensions/fa","SetupAfterCache extensions/fa","SpecialContributionsBeforeMainOutput extensions/fa","SpecialLogAddLogSearchRelations extensions/fa","SpecialPageBeforeExecute extensions/fa","SpecialPage initList extensions/fa","SpecialPasswordResetOnSubmit extensions/fa","TempUserCreatedRedirect extensions/fa","TestCanonicalRedirect extensions/fa","UnitTestsAfterDatabaseSetup extensions/fa","UnitTestsBeforeDatabaseTeardown extensions/fa","UserArrayFromResult extensions/fa","UserEditCountUpdate extensions/fa","UserGetEmail extensions/fa","UserGetEmailAuthenticationTimestamp extensions/fa","UserGetReservedNames extensions/fa", "UserGetRights extensions/fa","UserIsBot extensions/fa","UserIsLocked extensions/fa","UserLoginComplete extensions/fa","UserLogout extensions/fa","UserLogoutComplete extensions/fa","UserSaveSettings extensions/fa","UserSetEmail extensions/fa","UserSetEmailAuthenticationTimestamp extensions/fa","GetUserPermissionsErrors extensions/fa","GetUserPermissionsErrorsExpensive extensions/fa","All extensions/fa","Extensions used on Wikimedia/fa","Extensions included in Miraheze/fa","Extensions included in Telepedia/fa","Extensions included in WikiForge/fa","CentralIdLookup providers/fa","Login extensions/fa"],"wgPageViewLanguage":"fa","wgPageContentLanguage":"fa","wgPageContentModel":"wikitext","wgRelevantPageName":"Extension:CentralAuth/fa","wgRelevantArticleId":1512871,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"mediawiki","wgCiteReferencePreviewsActive":true,"wgMediaViewerOnClick":true, "wgMediaViewerEnabledByDefault":true,"wgVisualEditor":{"pageLanguageCode":"fa","pageLanguageDir":"rtl","pageVariantFallbacks":"fa"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":40000,"wgTranslatePageTranslation":"translation","wgCentralAuthMobileDomain":false,"wgVisualEditorDisabledByHook":true,"wgULSPosition":"personal","wgULSisCompactLinksEnabled":true,"wgVector2022LanguageInHeader":false,"wgULSisLanguageSelectorEmpty":false,"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":"ready","ext.wikimediamessages.styles":"ready","ext.uls.pt":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["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.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.compactlinks","ext.uls.interface","ext.checkUser.clientHints"];</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&modules=ext.cite.styles%7Cext.pygments%2Ctranslate%2CwikimediaBadges%7Cext.translate.tag.languages%7Cext.uls.pt%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&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/fa"> <link rel="alternate" type="application/x-wiki" title="Edit" href="/w/index.php?title=Extension:CentralAuth/fa&action=edit"> <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/fa"> <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&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 mw-editable page-Extension_CentralAuth_fa 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"> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-add wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:NewItem?site=mediawikiwiki&page=Extension%3ACentralAuth%2Ffa" title="Add interlanguage links" class="wbc-editpage">Add 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'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&utm_medium=sidebar&utm_campaign=spontaneous&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&returnto=Extension%3ACentralAuth%2Ffa" 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&returnto=Extension%3ACentralAuth%2Ffa" 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&utm_medium=sidebar&utm_campaign=spontaneous&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&returnto=Extension%3ACentralAuth%2Ffa" 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&returnto=Extension%3ACentralAuth%2Ffa" 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">۱</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">۱.۱</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">۱.۲</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">۱.۳</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">۲</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-"SUL2"_behavior" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#"SUL2"_behavior"> <div class="vector-toc-text"> <span class="vector-toc-numb">۲.۱</span> <span>"SUL2" behavior</span> </div> </a> <ul id="toc-"SUL2"_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">۲.۲</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">۲.۳</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">۲.۴</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">۲.۴.۱</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">۳</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">۳.۱</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">۴</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">۴.۱</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">۴.۲</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">۴.۳</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">۴.۴</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">۵</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">۶</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">۷</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">۸</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">Extension:CentralAuth</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/fa" title="View the subject page [c]" accesskey="c"><span>Extension</span></a></li><li id="ca-talk" class="new vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Extension_talk:CentralAuth/fa&action=edit&redlink=1" rel="discussion" class="new" title="Discussion about the content page (page does not exist) [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">فارسی</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/fa"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Special:Translate&group=page-Extension%3ACentralAuth&action=page&filter=&language=fa" title="Edit this page [e]" accesskey="e"><span>Translate</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Extension:CentralAuth/fa&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/fa"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:Translate&group=page-Extension%3ACentralAuth&action=page&filter=&language=fa" title="Edit this page [e]" accesskey="e"><span>Translate</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Extension:CentralAuth/fa&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/fa" 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/fa" 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/fa&oldid=6769345" 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/fa&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&page=Extension%3ACentralAuth%2Ffa&id=6769345&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&url=https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FExtension%3ACentralAuth%2Ffa"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FExtension%3ACentralAuth%2Ffa"><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&bookcmd=book_creator&referer=Extension%3ACentralAuth%2Ffa"><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&page=Extension%3ACentralAuth%2Ffa&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/fa&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 emptyPortlet" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </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" dir="ltr" lang="en">This page is a <span class="plainlinks"><a class="external text" href="https://www.mediawiki.org/w/index.php?title=Special:Translate&group=page-Extension%3ACentralAuth&action=page&filter=&language=fa">translated version</a></span> of the page <a href="/wiki/Extension:CentralAuth" title="Extension:CentralAuth">Extension:CentralAuth</a> and the translation is 0% complete.</div><div class="mw-content-rtl mw-parser-output" lang="fa" dir="rtl"><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><a href="/wiki/Extension:CentralAuth" class="mw-pt-languages-ui mw-pt-progress mw-pt-progress--complete" title="Extension:CentralAuth (100% translated)" lang="en" dir="ltr">English</a></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><span class="mw-pt-languages-selected mw-pt-progress mw-pt-progress--low" lang="fa" dir="rtl">فارسی</span></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:right}.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.5em 0 0.2em}@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-rtl ext-infobox ext-status-stable"> <caption><b><a href="/wiki/Special:MyLanguage/Manual:Extensions" title="Special:MyLanguage/Manual:Extensions">راهنمای افزونهٔ مدیاویکی</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-right" 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">وضعیت انتشار:</a><span style="display:none"><a href="/wiki/Extension_status" title="Extension status"> </a></span> پایدار</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">انجام</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"><span lang="en" dir="ltr" class="mw-content-ltr">User identity</span></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">پایگاه داده</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"><span lang="en" dir="ltr" class="mw-content-ltr">Special page</span></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">توضیحات</a><span style="display:none"><a href="/wiki/Template:Extension#description" title="Template:Extension"> </a></span></b></td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Allows to merge accounts into global accounts</span></td> </tr> <tr> <td><b><a href="/wiki/Special:MyLanguage/Template:Extension#username" title="Special:MyLanguage/Template:Extension">نویسنده(گان)</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">بحث</a></sup></td> </tr> <tr> <td><b><a href="/wiki/Special:MyLanguage/Compatibility#mediawiki_extensions" title="Special:MyLanguage/Compatibility">سیاست سازگاری</a><span style="display:none"><a href="/wiki/Compatibility#mediawiki_extensions" title="Compatibility"> </a></span></b></td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Snapshots releases along with MediaWiki.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Master is not backward compatible.</span></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>>= 1.43</td> </tr> <tr> <td><a href="/wiki/Special:MyLanguage/Template:Extension#needs-updatephp" title="Special:MyLanguage/Template:Extension"><abbr title="'php update.php' پساز نصب نیاز است"><b>تغییر پایگاه داده</b></abbr></a><span style="display:none"><a href="/wiki/Template:Extension#needs-updatephp" title="Template:Extension"> </a></span></td> <td>بله</td> </tr> <tr> <td><b><a href="/wiki/Special:MyLanguage/Manual:$wgVirtualDomainsMapping" title="Special:MyLanguage/Manual:$wgVirtualDomainsMapping"><span lang="en" dir="ltr" class="mw-content-ltr">Virtual domain</span></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">جدولها</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">مجوز</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"><span lang="en" dir="ltr" class="mw-content-ltr">GNU General Public License 2.0 or later</span></a></td> </tr><tr> <td><b>بارگیری</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 repository</a> (<a href="https://phabricator.wikimedia.org/diffusion/ECAU" class="extiw" title="phab:diffusion/ECAU">Phabricator</a> · <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 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">پارامترها</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'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: 'always' (always SUL3 mode), 'query-flag' (enabled when the URL has a 'usesul3=1' query parameter), and 'cookie' (enabled when there is a 'sul3OptIn=1' cookie). The query flag is used to pass on the SUL3 flag during redirect chains, so unless SUL3 is always or never enabled, 'query-flag' 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'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://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, '.wikipedia.org' to work on all wikipedia.org subdomains instead of just the current one. Leave blank to set the cookie for the current domain only, such as if all your wikis are hosted on the same subdomain.">$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'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'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'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">دسترسیهای افزودهشده</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"><span lang="en" dir="ltr" class="mw-content-ltr">Hooks used</span></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"><span lang="en" dir="ltr" class="mw-content-ltr">Hooks provided</span></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><span lang="en" dir="ltr" class="mw-content-ltr">Quarterly downloads</span></b></td> <td>46 (Ranked 89<sup>th</sup>)</td> </tr> <tr> <td colspan="2" class="ext-infobox-translate"> <span lang="en" dir="ltr" class="mw-content-ltr"><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</span></td> </tr><tr class="mw-empty-elt"> </tr> <tr> <td> <b><a href="/wiki/Special:MyLanguage/Phabricator" title="Special:MyLanguage/Phabricator"><span lang="en" dir="ltr" class="mw-content-ltr">Issues</span></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"><span lang="en" dir="ltr" class="mw-content-ltr">Open tasks</span></a> · <a class="external text" href="https://phabricator.wikimedia.org/maniphest/task/create/?projects=MediaWiki-extensions-CentralAuth">گزارش یک مشکل</a></td> </tr> </tbody></table> <p><span lang="en" dir="ltr" class="mw-content-ltr"><b>CentralAuth</b> allows merging several existing separate account systems into one global account system.</span> </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="هشدار" 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>هشدار:</b> </td><td style="padding-right: 0.5em vertical-align: top;"><span lang="en" dir="ltr" class="mw-content-ltr">CentralAuth was designed specifically for Wikimedia projects which already had millions of accounts that needed to be merged into a global table.</span> <p><span lang="en" dir="ltr" class="mw-content-ltr">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.</span><sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> </p><p><span lang="en" dir="ltr" class="mw-content-ltr">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.</span> <span lang="en" dir="ltr" class="mw-content-ltr">This extension provides said functionality at the cost of complexity.</span> </p><p><span lang="en" dir="ltr" class="mw-content-ltr">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.</span> </p> <b><span lang="en" dir="ltr" class="mw-content-ltr">You have been warned.</span></b></td></tr></tbody></table> <div lang="en" dir="ltr" class="mw-content-ltr"> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Installation">Installation</h2></div> </div> <p><span lang="en" dir="ltr" class="mw-content-ltr">See the <a href="#Setup">setup</a> section below for prerequisites to using CentralAuth.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Then follow these instructions when you are ready to activate CentralAuth:</span> </p> <ol><li><span lang="en" dir="ltr" class="mw-content-ltr">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.</span></li> <li><span lang="en" dir="ltr" class="mw-content-ltr"><a href="/wiki/Special:ExtensionDistributor/CentralAuth" title="Special:ExtensionDistributor/CentralAuth">Download the latest snapshot</a> and extract it to your <code>extensions</code> directory.</span></li> <li><span lang="en" dir="ltr" class="mw-content-ltr">Pick a database and create the CentralAuth database tables.</span> <span lang="en" dir="ltr" class="mw-content-ltr">You can use an existing database or create a new one.</span> <span lang="en" dir="ltr" class="mw-content-ltr">(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">'virtual-centralauth'</span><span class="p">]</span></code> below.)</span> <span lang="en" dir="ltr" class="mw-content-ltr">Use this database then run <code>tables-generated.sql</code>.</span> <ul><li><span lang="en" dir="ltr" class="mw-content-ltr">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).</span> <span lang="en" dir="ltr" class="mw-content-ltr">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">'virtual-centralauth'</span><span class="p">]</span></code>.</span></li></ul></li> <li><span lang="en" dir="ltr" class="mw-content-ltr">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">'CentralAuth'</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.</span></li> <li><span lang="en" dir="ltr" class="mw-content-ltr">The CentralAuth extension should be now active.</span></li></ol> <div lang="en" dir="ltr" class="mw-content-ltr"> <div class="mw-heading mw-heading3"><h3 id="Create_a_new_database">Create a new database</h3></div> </div> <p><span lang="en" dir="ltr" class="mw-content-ltr">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.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Replace $wgDBname and $wgDBuser with the values for your own wiki installation credentials.</span> </p> <div lang="en" dir="ltr" class="mw-content-ltr"> <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> <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">'$wgDBuser'</span><span class="nv">@'localhost'</span><span class="p">;</span> <span class="n">quit</span> </pre></div> <div lang="en" dir="ltr" class="mw-content-ltr"> <div class="mw-heading mw-heading3"><h3 id="Run_maintenance_scripts">Run maintenance scripts</h3></div> </div> <p><span lang="en" dir="ltr" class="mw-content-ltr">The following assumes your present working directory is your MediaWiki installation (not your CentralAuth directory).</span> <span lang="en" dir="ltr" class="mw-content-ltr">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).</span> </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/<db_type>/tables-generated.sql </pre></div> <div lang="en" dir="ltr" class="mw-content-ltr"> <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> <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/<db_type>/tables-generated.sql </pre></div> <div lang="en" dir="ltr" class="mw-content-ltr"> <p>Run the user migration scripts </p> </div> <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 lang="en" dir="ltr" class="mw-content-ltr"> <div class="mw-heading mw-heading3"><h3 id="Upgrading">Upgrading</h3></div> </div> <p><span lang="en" dir="ltr" class="mw-content-ltr">CentralAuth is designed for large wiki farms who run database updates manually in order to enable zero-downtime upgrades.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For that reason, the CentralAuth database will not be updated with the usual upgrade process.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Third-party users are expected to follow CentralAuth development and apply database migrations manually instead.</span> </p> <div lang="en" dir="ltr" class="mw-content-ltr"> <div class="mw-heading mw-heading2"><h2 id="Setup">Setup</h2></div> </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="هشدار" 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>هشدار:</b> </td><td style="padding-right: 0.5em vertical-align: top;"><span lang="en" dir="ltr" class="mw-content-ltr">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).</span> <span lang="en" dir="ltr" class="mw-content-ltr">See <a href="#"SUL2"_behavior">below</a> for detail.</span></td></tr></tbody></table> <p><span lang="en" dir="ltr" class="mw-content-ltr">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.</span> <span lang="en" dir="ltr" class="mw-content-ltr">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">-></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">-></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>).</span> <span lang="en" dir="ltr" class="mw-content-ltr">Follow <a href="/wiki/Special:MyLanguage/Manual:$wgConf#Example" title="Special:MyLanguage/Manual:$wgConf">the examples</a> carefully.</span> <span lang="en" dir="ltr" class="mw-content-ltr">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>").</span> </p><p><span lang="en" dir="ltr" class="mw-content-ltr">After installing the extension, you have to gather some data in the CentralAuth database.</span> <span lang="en" dir="ltr" class="mw-content-ltr">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.</span> <span lang="en" dir="ltr" class="mw-content-ltr">The first one stores information about your wikis in the CentralAuth database, while the second one uses automatic migration heuristics to generate global accounts.</span> <span lang="en" dir="ltr" class="mw-content-ltr">A user can merge their accounts manually via <b>Special:MergeAccount</b>.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Dry runs can be used for testing purposes.</span> </p><p><span lang="en" dir="ltr" class="mw-content-ltr">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>.</span> <span lang="en" dir="ltr" class="mw-content-ltr">A sample query that is recommended to use is:</span> </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">'steward'</span><span class="p">,</span><span class="s1">'globalgrouppermissions'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'steward'</span><span class="p">,</span><span class="s1">'globalgroupmembership'</span><span class="p">);</span> </pre></div> <p><span lang="en" dir="ltr" class="mw-content-ltr">Then, promote some users into stewards:</span> </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">'Admin'</span><span class="p">),</span><span class="w"> </span><span class="s1">'steward'</span><span class="p">);</span> </pre></div> <p><span lang="en" dir="ltr" class="mw-content-ltr">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>.</span> <span lang="en" dir="ltr" class="mw-content-ltr">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">'virtual-centralauth'</span><span class="p">]</span></code>.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Make sure you put such settings after the <code>wfLoadExtension</code> line in <code>LocalSettings.php</code>, e.g.:</span> </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">'CentralAuth'</span> <span class="p">);</span> <span class="nv">$wgVirtualDomainsMapping</span><span class="p">[</span><span class="s1">'virtual-centralauth'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span> <span class="s1">'db'</span> <span class="o">=></span> <span class="s1">'centralauth'</span> <span class="p">];</span> </pre></div> <div lang="en" dir="ltr" class="mw-content-ltr"> <div class="mw-heading mw-heading3"><h3 id=""SUL2"_behavior"><span id=".22SUL2.22_behavior"></span>"SUL2" behavior</h3></div> </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="هشدار" 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>هشدار:</b> </td><td style="padding-right: 0.5em vertical-align: top;"><span lang="en" dir="ltr" class="mw-content-ltr">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).</span> <span lang="en" dir="ltr" class="mw-content-ltr">This will reduce the risk for XSS vulnerabilities.</span></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="هشدار" 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>هشدار:</b> </td><td style="padding-right: 0.5em vertical-align: top;"><span lang="en" dir="ltr" class="mw-content-ltr">Universal sign-on may be broken in newer Google Chrome versions due to SameSite cookie policy.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To fix it, you need to add:</span> <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">"None"</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> <div lang="en" dir="ltr" class="mw-content-ltr"> <p>In addition, you must run your site under HTTPS. </p> </div></td></tr></tbody></table> <p><br /> <span lang="en" dir="ltr" class="mw-content-ltr">In July 2013 WMF changed its approach to logging users into multiple wikis.</span> <span lang="en" dir="ltr" class="mw-content-ltr">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.</span> <span lang="en" dir="ltr" class="mw-content-ltr">It omits the "login/account creation success" page, instead redirecting back to the "returnto" page that the user was originally on.</span> <span lang="en" dir="ltr" class="mw-content-ltr">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.</span> </p><p><span lang="en" dir="ltr" class="mw-content-ltr">The settings for this are, roughly,</span> </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">'virtual-centralauth'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span> <span class="s1">'db'</span> <span class="o">=></span> <span class="s1">'centralauthDatabaseName'</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">'enwiki.mediawiki.mwdd.localhost'</span> <span class="o">=></span> <span class="s1">'enwiki'</span><span class="p">,</span> <span class="p">];</span> <span class="c1"># Activates the redirect to the "central login wiki"</span> <span class="nv">$wgCentralAuthLoginWiki</span> <span class="o">=</span> <span class="s1">'WikiIdOfLoginWiki'</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> <span lang="en" dir="ltr" class="mw-content-ltr">is the ID (usually the database-name) of the wiki to which CentralAuth will redirect on login and create account actions.</span> </p> <div lang="en" dir="ltr" class="mw-content-ltr"> <div class="mw-heading mw-heading3"><h3 id="Cache_issues">Cache issues</h3></div> </div> <p><span lang="en" dir="ltr" class="mw-content-ltr">For best results, it is recommended to use memcached or a more persistent cache.</span> <span lang="en" dir="ltr" class="mw-content-ltr">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.</span> <span lang="en" dir="ltr" class="mw-content-ltr">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.</span> </p><p><span lang="en" dir="ltr" class="mw-content-ltr">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>.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To make this work with CentralAuth, we need to tell the wikis to use a central cache table.</span> </p> <div lang="en" dir="ltr" class="mw-content-ltr"> <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> <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> <div lang="en" dir="ltr" class="mw-content-ltr"> <p>Then add the following config to all wikis to tell them to use the central table instead of their own table: </p> </div> <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">'centralauth'</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">'objectcache'</span> <span class="p">];</span> <span class="c1">// remember to copy the table structure'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">'MW_PHPUNIT_TEST'</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">'objectcache'</span> <span class="p">];</span> <span class="p">}</span> </pre></div> <div lang="en" dir="ltr" class="mw-content-ltr"> <div class="mw-heading mw-heading3"><h3 id="HTTP_and_HTTPS">HTTP and HTTPS</h3></div> </div> <p><span lang="en" dir="ltr" class="mw-content-ltr">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).</span> See <a href="https://phabricator.wikimedia.org/T348852" class="extiw" title="phab:T348852">issue T348852</a>. </p> <div lang="en" dir="ltr" class="mw-content-ltr"> <div class="mw-heading mw-heading3"><h3 id="Configuration">Configuration</h3></div> </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">// 'centralauth' is the name of the your CentralAuth database.</span> <span class="nv">$wgVirtualDomainsMapping</span><span class="p">[</span><span class="s1">'virtual-centralauth'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span> <span class="s1">'db'</span> <span class="o">=></span> <span class="s1">'centralauth'</span> <span class="p">];</span> </pre></div> <table class="wikitable"> <caption><span lang="en" dir="ltr" class="mw-content-ltr">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></span> </caption> <tbody><tr> <th><span lang="en" dir="ltr" class="mw-content-ltr">parameter</span> </th> <th><span lang="en" dir="ltr" class="mw-content-ltr">default</span> </th> <th><span lang="en" dir="ltr" class="mw-content-ltr">comment</span> </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><span lang="en" dir="ltr" class="mw-content-ltr">Database name you keep central auth data in.</span> <p><span lang="en" dir="ltr" class="mw-content-ltr">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.</span> <span lang="en" dir="ltr" class="mw-content-ltr">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.</span> </p><p><span lang="en" dir="ltr" class="mw-content-ltr">To use a database with a table prefix, set this variable to "<code>{$database}-{$prefix}</code>".</span> </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><span lang="en" dir="ltr" class="mw-content-ltr">If <code>true</code>, existing unattached accounts will be automatically migrated if possible at first login.</span> <p><span lang="en" dir="ltr" class="mw-content-ltr">Any new account creations will be required to attach.</span> </p><p><span lang="en" dir="ltr" class="mw-content-ltr">If <code>false</code>, unattached accounts will not be harassed unless the individual account has opted in to migration.</span> </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><span lang="en" dir="ltr" class="mw-content-ltr">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).</span> <p><span lang="en" dir="ltr" class="mw-content-ltr">This was formerly controlled by <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthAutoMigrate</span></code></span> </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><span lang="en" dir="ltr" class="mw-content-ltr">If <code>true</code>, remaining accounts which have not been attached will be forbidden from logging in until they are resolved.</span> </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><span lang="en" dir="ltr" class="mw-content-ltr">If <code>true</code>, merging won't actually be possible through the Special:MergeAccount interface.</span> </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><span lang="en" dir="ltr" class="mw-content-ltr">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.</span> <p><span lang="en" dir="ltr" class="mw-content-ltr">This allows other wikis on the same domain to transparently log them in.</span> </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><span lang="en" dir="ltr" class="mw-content-ltr">Database name of a central login wiki.</span> <span lang="en" dir="ltr" class="mw-content-ltr">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>.</span> <span lang="en" dir="ltr" class="mw-content-ltr">If set, a single login wiki will use a session/cookie to handle unified login sessions across wikis.</span> <p><span lang="en" dir="ltr" class="mw-content-ltr">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.</span> <span lang="en" dir="ltr" class="mw-content-ltr">In the process, the central login wiki cookie and session will be set.</span> <span lang="en" dir="ltr" class="mw-content-ltr">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.</span> </p><p><span lang="en" dir="ltr" class="mw-content-ltr">This requires <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><span class="nv">$wgCentralAuthCookies</span></code>.</span> </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">''</span></code> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Domain to set global cookies for.</span> <p><span lang="en" dir="ltr" class="mw-content-ltr">For instance, <code>'.wikipedia.org'</code> to work on all <code>wikipedia.org</code> subdomains instead of just the current one.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Leave blank to set the cookie for the current domain only, such as if all your wikis are hosted on the same subdomain.</span> </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">'centralauth_'</span></code> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Prefix for CentralAuth global authentication cookies.</span> </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">'/'</span></code> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Path for CentralAuth global authentication cookies.</span> <span lang="en" dir="ltr" class="mw-content-ltr">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>.</span> </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><span lang="en" dir="ltr" class="mw-content-ltr">List of wiki IDs which should be called on login to try to set third-party cookies for the global session state.</span> <div lang="en" dir="ltr" class="mw-content-ltr"> <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> </div> <div lang="en" dir="ltr" class="mw-content-ltr"> <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> </div> <div lang="en" dir="ltr" class="mw-content-ltr"> <p>Done by accessing <code>Special:CentralAutoLogin/start</code> on each wiki. </p> </div> <div lang="en" dir="ltr" class="mw-content-ltr"> <p>If empty, no other wikis will be hit. </p> </div> <div lang="en" dir="ltr" class="mw-content-ltr"> <p>The key should be set to the cookie domain name. </p> </div> </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><span lang="en" dir="ltr" class="mw-content-ltr">List of wiki IDs on which an attached local account should be created automatically when the global account is created.</span> <p><span lang="en" dir="ltr" class="mw-content-ltr">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.</span> </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><span lang="en" dir="ltr" class="mw-content-ltr">Local filesystem path to the icon returned by <code>Special:CentralAutoLogin</code> should be a 20x20px PNG.</span> </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">'skin'</span><span class="p">,</span> <span class="s1">'language'</span><span class="p">,</span> <span class="s1">'thumbsize'</span><span class="p">,</span> <span class="s1">'underline'</span><span class="p">,</span> <span class="s1">'stubthreshold'</span><span class="p">,</span> <span class="s1">'showhiddencats'</span><span class="p">,</span> <span class="s1">'justify'</span><span class="p">,</span> <span class="s1">'numberheadings'</span><span class="p">,</span> <span class="s1">'editondblclick'</span><span class="p">,</span> <span class="s1">'editsection'</span><span class="p">,</span> <span class="s1">'editsectiononrightclick'</span><span class="p">,</span> <span class="s1">'usenewrc'</span><span class="p">,</span> <span class="s1">'extendwatchlist'</span> <span class="p">]</span></code> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">User preferences for which we should recommend reloading the page after a successful central login query.</span> <p><span lang="en" dir="ltr" class="mw-content-ltr">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">-></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">-></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>.</span> </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><span lang="en" dir="ltr" class="mw-content-ltr">Array of settings for sending the CentralAuth events to the RC Feeds.</span> <p><code>@example $wgRCFeeds['example'] = [ 'uri' => "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><span lang="en" dir="ltr" class="mw-content-ltr">Size of wikis handled in one suppress user job.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Keep in mind that one wiki requires <code>~10</code> queries.</span> </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><span lang="en" dir="ltr" class="mw-content-ltr">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.</span> <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><span lang="en" dir="ltr" class="mw-content-ltr">Feature flag for <code>Special:GlobalRenameRequest</code>.</span> <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><span lang="en" dir="ltr" class="mw-content-ltr">Global password policies.</span> <span lang="en" dir="ltr" class="mw-content-ltr">These are applied like local password policies, the strongest policy applicable to a user is used.</span> <span lang="en" dir="ltr" class="mw-content-ltr">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.</span> <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><span lang="en" dir="ltr" class="mw-content-ltr">A list of users who won't be allowed to create new global rename requests through Special:GlobalRenameRequest.</span> <p><span lang="en" dir="ltr" class="mw-content-ltr">There are two ways to set it:</span> </p> <ul><li><span lang="en" dir="ltr" class="mw-content-ltr">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.</span> <span lang="en" dir="ltr" class="mw-content-ltr">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>.</span> <br /><span lang="en" dir="ltr" class="mw-content-ltr">Example:</span> <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">'GlobalRenameDenylist'</span> <span class="p">);</span></code>.</li> <li><span lang="en" dir="ltr" class="mw-content-ltr">Using a URL: put a complete URL which must return, using HTTP, a plain-text list of the banned users (and nothing else).</span><br /><span lang="en" dir="ltr" class="mw-content-ltr">For example, with a URL pointing to a wiki page:</span> <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">"https://yourwiki/yourpath/index.php?title=MediaWiki:GlobalRenameDenylist&action=raw"</span><span class="p">;</span></code></li></ul> <p><span lang="en" dir="ltr" class="mw-content-ltr">You can use the exact names or regular expressions.</span> </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">"global"</span></code> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">When globally suppressing a user, a block against this user is inserted in all wikis.</span> <span lang="en" dir="ltr" class="mw-content-ltr">CentralAuth will set the author of theses blocks as <code>$wgCentralAuthGlobalBlockInterwikiPrefix>(user-who-made-the-suppression's nickname)</code>.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For example, if</span> <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">"Admins"</span><span class="p">;</span></code>, <span lang="en" dir="ltr" class="mw-content-ltr">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>Joe</code>.</span> <p><code>@var string</code> </p> </td></tr></tbody></table> <div lang="en" dir="ltr" class="mw-content-ltr"> <div class="mw-heading mw-heading2"><h2 id="Use">Use</h2></div> </div> <p><span lang="en" dir="ltr" class="mw-content-ltr">Allows for a single-user login (SUL) system using MediaWiki's AuthPlugin system.</span> <span lang="en" dir="ltr" class="mw-content-ltr">User creation and login is done globally using one central user table across all wikis.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Note that local user accounts are automatically created on account creation/login however.</span> </p><p><span lang="en" dir="ltr" class="mw-content-ltr">This extension also implements global user groups, to which global accounts can belong to.</span> </p> <div lang="en" dir="ltr" class="mw-content-ltr"> <div class="mw-heading mw-heading3"><h3 id="User_rights">User rights</h3></div> </div> <p><span lang="en" dir="ltr" class="mw-content-ltr">CentralAuth defines several new user rights:</span> </p> <table class="wikitable"> <tbody><tr> <th><span lang="en" dir="ltr" class="mw-content-ltr">User right</span> </th> <th><span lang="en" dir="ltr" class="mw-content-ltr">Abilities</span> </th> <th><span lang="en" dir="ltr" class="mw-content-ltr">Default group</span> </th> <th><span lang="en" dir="ltr" class="mw-content-ltr">Status</span> </th></tr> <tr> <td><code>centralauth-createlocal</code> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Forcibly create a local account for a global account</span> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Stewards and sysops</span> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Active in MW 1.36+</span> </td></tr> <tr> <td><code>centralauth-lock</code> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Prevent users from logging in on any wiki</span> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Stewards</span> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Active</span> </td></tr> <tr> <td><code>centralauth-suppress</code> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Suppress or unhide global accounts</span> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Stewards</span> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Active</span> </td></tr> <tr> <td><code>centralauth-rename</code> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Rename global accounts</span> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Stewards</span> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Active</span> </td></tr> <tr> <td><code>centralauth-unmerge</code> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Unmerge global accounts from a local account</span> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Stewards</span> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Active</span> </td></tr> <tr> <td><code>centralauth-merge</code> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Merge all CentralAuth accounts globally</span> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">All users</span> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Active; usually automatic</span> </td></tr> <tr> <td><code>globalgrouppermissions</code> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Manage permissions of global groups</span> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Global Stewards</span> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Active; not assigned to local stewards by default</span> </td></tr> <tr> <td><code>globalgroupmembership</code> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Edit membership to global groups</span> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Global Stewards</span> </td> <td><span lang="en" dir="ltr" class="mw-content-ltr">Active; not assigned to local stewards by default</span> </td></tr></tbody></table> <div lang="en" dir="ltr" class="mw-content-ltr"> <div class="mw-heading mw-heading2"><h2 id="Functions">Functions</h2></div> </div> <div lang="en" dir="ltr" class="mw-content-ltr"> <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> </div> <p><span lang="en" dir="ltr" class="mw-content-ltr">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.</span> <span lang="en" dir="ltr" class="mw-content-ltr">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.</span> <span lang="en" dir="ltr" class="mw-content-ltr">User accounts can now also be renamed globally.</span> </p> <div lang="en" dir="ltr" class="mw-content-ltr"> <div class="mw-heading mw-heading3"><h3 id="Locking_and_hiding_global_users">Locking and hiding global users</h3></div> </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><span lang="en" dir="ltr" class="mw-content-ltr">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.</span></figcaption></figure> <p><span lang="en" dir="ltr" class="mw-content-ltr">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.</span> <span lang="en" dir="ltr" class="mw-content-ltr">A locked global account will be immediately logged out of any session on any wiki it is currently logged in to.</span> <span lang="en" dir="ltr" class="mw-content-ltr">A hidden global account's username is not visible in any logs except the global account log.</span> </p> <div lang="en" dir="ltr" class="mw-content-ltr"> <div class="mw-heading mw-heading3"><h3 id="Wiki_sets">Wiki sets</h3></div> </div> <p><span lang="en" dir="ltr" class="mw-content-ltr">A <i>wiki set</i> is a group of wikis specified by a user with the <code>globalgrouppermissions</code> right.</span> <span lang="en" dir="ltr" class="mw-content-ltr">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).</span> </p> <div lang="en" dir="ltr" class="mw-content-ltr"> <div class="mw-heading mw-heading3"><h3 id="Global_user_groups">Global user groups</h3></div> </div> <p><span lang="en" dir="ltr" class="mw-content-ltr">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.</span> <span lang="en" dir="ltr" class="mw-content-ltr">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).</span> <span lang="en" dir="ltr" class="mw-content-ltr">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>.</span> <span lang="en" dir="ltr" class="mw-content-ltr">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.</span> </p> <div lang="en" dir="ltr" class="mw-content-ltr"> <div class="mw-heading mw-heading2"><h2 id="Licensing_and_downloads">Licensing and downloads</h2></div> </div> <p><span lang="en" dir="ltr" class="mw-content-ltr">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>.</span> </p><p><span lang="en" dir="ltr" class="mw-content-ltr">The software is provided as-is.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Updates will be made according to the needs of Wikimedia wikis; or where critical vulnerabilities are discovered.</span> </p> <div lang="en" dir="ltr" class="mw-content-ltr"> <div class="mw-heading mw-heading2"><h2 id="API">API</h2></div> </div> <div lang="en" dir="ltr" class="mw-content-ltr"> <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> <div lang="en" dir="ltr" class="mw-content-ltr"> <div class="mw-heading mw-heading2"><h2 id="References">References</h2></div> </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 lang="en" dir="ltr" class="mw-content-ltr"> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div> </div> <ul><li><span lang="en" dir="ltr" class="mw-content-ltr"><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</span></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> - <span lang="en" dir="ltr" class="mw-content-ltr">CentralAuth authentication features</span></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> - <span lang="en" dir="ltr" class="mw-content-ltr">2015 plan to phase out CentralAuth at WMF</span></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><span lang="en" dir="ltr" class="mw-content-ltr"><a href="https://en.wikipedia.org/wiki/Wikipedia:Integrated_watchlists" class="extiw" title="w:Wikipedia:Integrated watchlists">Integrated watchlists</a></span></li> <li><a href="/wiki/Special:MyLanguage/Extension:CentralAuth/control_flow" title="Special:MyLanguage/Extension:CentralAuth/control flow"><span lang="en" dir="ltr" class="mw-content-ltr">CentralAuth control flow</span></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:left;float:left;margin:4px 1em 4px 0;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">این افزونه در یکی یا بیشتر <a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/Wikimedia_projects" class="extiw" title="m:Special:MyLanguage/Wikimedia projects">پروژههای ویکیمدیا</a> استفاده شده است. این احتمالاً به این معنی است که افزونه پایدار است و به اندازه کافی برای استفاده توسط وبسایتهای ترافیک-بالا به خوبی کار میکند. برای نام این افزونه در پروندههای پیکربندی <a class="external text" href="https://noc.wikimedia.org/conf/highlight.php?file=CommonSettings.php">CommonSettings.php</a> و <a class="external text" href="https://noc.wikimedia.org/conf/highlight.php?file=InitialiseSettings.php">InitialiseSettings.php</a> ویکیمدیا بگردید تا جایی که آنها نصب شده را ببینید. یک فهرست کامل از افزونهها نصبشده روی یک ویکی مشخص را میتوان در صفحۀ <a href="/wiki/Special:Version" title="Special:Version">Special:Version</a> دید.</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">میراژز</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‐g6ttt Cached time: 20241123153404 Cache expiry: 2592000 Reduced expiry: false Complications: [show‐toc] CPU time usage: 2.129 seconds Real time usage: 2.416 seconds Preprocessor visited node count: 16178/1000000 Post‐expand include size: 261942/2097152 bytes Template argument size: 58439/2097152 bytes Highest expansion depth: 21/100 Expensive parser function count: 87/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 34411/5000000 bytes Lua time usage: 1.345/10.000 seconds Lua memory usage: 18903017/52428800 bytes Lua Profile: ? 520 ms 34.7% recursiveClone <mwInit.lua:45> 400 ms 26.7% (for generator) 120 ms 8.0% MediaWiki\Extension\Scribunto\Engines\LuaSandbox\LuaSandboxCallback::getExpandedArgument 80 ms 5.3% tostring 80 ms 5.3% MediaWiki\Extension\Scribunto\Engines\LuaSandbox\LuaSandboxCallback::expandTemplate 60 ms 4.0% MediaWiki\Extension\Scribunto\Engines\LuaSandbox\LuaSandboxCallback::sub 40 ms 2.7% type 20 ms 1.3% MediaWiki\Extension\Scribunto\Engines\LuaSandbox\LuaSandboxCallback::newTitle 20 ms 1.3% getExpandedArgument <mw.lua:174> 20 ms 1.3% [others] 140 ms 9.3% Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 1895.115 1 -total 82.09% 1555.737 1 Template:Extension 55.92% 1059.699 136 Template:Ll 51.14% 969.133 294 Template:Translatable 36.94% 700.078 359 Template:Pagelang 6.56% 124.387 2 Template:Mbox 5.54% 104.914 1 Template:Foreach 5.26% 99.615 1 Template:Used_by 5.08% 96.203 6 Template:Extension/HookProvided 4.62% 87.557 1 Template:Flatlist --> <!-- Saved in parser cache with key mediawikiwiki:pcache:idhash:1512871-0!canonical and timestamp 20241123153404 and revision id 6769345. 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/fa&oldid=6769345">https://www.mediawiki.org/w/index.php?title=Extension:CentralAuth/fa&oldid=6769345</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/fa" title="Category:Stable extensions/fa">Stable extensions/fa</a></li><li><a href="/wiki/Category:User_identity_extensions/fa" title="Category:User identity extensions/fa">User identity extensions/fa</a></li><li><a href="/wiki/Category:Database_extensions/fa" title="Category:Database extensions/fa">Database extensions/fa</a></li><li><a href="/wiki/Category:Special_page_extensions/fa" title="Category:Special page extensions/fa">Special page extensions/fa</a></li><li><a href="/wiki/Category:API_extensions/fa" title="Category:API extensions/fa">API extensions/fa</a></li><li><a href="/wiki/Category:GPL_licensed_extensions/fa" title="Category:GPL licensed extensions/fa">GPL licensed extensions/fa</a></li><li><a href="/wiki/Category:Extensions_in_Wikimedia_version_control/fa" title="Category:Extensions in Wikimedia version control/fa">Extensions in Wikimedia version control/fa</a></li><li><a href="/wiki/Category:APIGetAllowedParams_extensions/fa" title="Category:APIGetAllowedParams extensions/fa">APIGetAllowedParams extensions/fa</a></li><li><a href="/wiki/Category:AbuseFilter-builder_extensions/fa" title="Category:AbuseFilter-builder extensions/fa">AbuseFilter-builder extensions/fa</a></li><li><a href="/wiki/Category:AbuseFilter-computeVariable_extensions/fa" title="Category:AbuseFilter-computeVariable extensions/fa">AbuseFilter-computeVariable extensions/fa</a></li><li><a href="/wiki/Category:AbuseFilter-generateUserVars_extensions/fa" title="Category:AbuseFilter-generateUserVars extensions/fa">AbuseFilter-generateUserVars extensions/fa</a></li><li><a href="/wiki/Category:AbuseFilterAlterVariables_extensions/fa" title="Category:AbuseFilterAlterVariables extensions/fa">AbuseFilterAlterVariables extensions/fa</a></li><li><a href="/wiki/Category:AbuseFilterShouldFilterAction_extensions/fa" title="Category:AbuseFilterShouldFilterAction extensions/fa">AbuseFilterShouldFilterAction extensions/fa</a></li><li><a href="/wiki/Category:ApiCheckCanExecute_extensions/fa" title="Category:ApiCheckCanExecute extensions/fa">ApiCheckCanExecute extensions/fa</a></li><li><a href="/wiki/Category:ApiQueryTokensRegisterTypes_extensions/fa" title="Category:ApiQueryTokensRegisterTypes extensions/fa">ApiQueryTokensRegisterTypes extensions/fa</a></li><li><a href="/wiki/Category:AuthChangeFormFields_extensions/fa" title="Category:AuthChangeFormFields extensions/fa">AuthChangeFormFields extensions/fa</a></li><li><a href="/w/index.php?title=Category:AuthManagerFilterProviders_extensions/fa&action=edit&redlink=1" class="new" title="Category:AuthManagerFilterProviders extensions/fa (page does not exist)">AuthManagerFilterProviders extensions/fa</a></li><li><a href="/w/index.php?title=Category:AuthManagerVerifyAuthentication_extensions/fa&action=edit&redlink=1" class="new" title="Category:AuthManagerVerifyAuthentication extensions/fa (page does not exist)">AuthManagerVerifyAuthentication extensions/fa</a></li><li><a href="/w/index.php?title=Category:AuthPreserveQueryParams_extensions/fa&action=edit&redlink=1" class="new" title="Category:AuthPreserveQueryParams extensions/fa (page does not exist)">AuthPreserveQueryParams extensions/fa</a></li><li><a href="/wiki/Category:AutopromoteCondition_extensions/fa" title="Category:AutopromoteCondition extensions/fa">AutopromoteCondition extensions/fa</a></li><li><a href="/wiki/Category:BeforePageDisplay_extensions/fa" title="Category:BeforePageDisplay extensions/fa">BeforePageDisplay extensions/fa</a></li><li><a href="/wiki/Category:ContentSecurityPolicyDefaultSource_extensions/fa" title="Category:ContentSecurityPolicyDefaultSource extensions/fa">ContentSecurityPolicyDefaultSource extensions/fa</a></li><li><a href="/wiki/Category:ContentSecurityPolicyScriptSource_extensions/fa" title="Category:ContentSecurityPolicyScriptSource extensions/fa">ContentSecurityPolicyScriptSource extensions/fa</a></li><li><a href="/wiki/Category:ContributionsToolLinks_extensions/fa" title="Category:ContributionsToolLinks extensions/fa">ContributionsToolLinks extensions/fa</a></li><li><a href="/wiki/Category:GetLocalURL_extensions/fa" title="Category:GetLocalURL extensions/fa">GetLocalURL extensions/fa</a></li><li><a href="/wiki/Category:GetLogTypesOnUser_extensions/fa" title="Category:GetLogTypesOnUser extensions/fa">GetLogTypesOnUser extensions/fa</a></li><li><a href="/wiki/Category:GetPreferences_extensions/fa" title="Category:GetPreferences extensions/fa">GetPreferences extensions/fa</a></li><li><a href="/wiki/Category:GetUserBlock_extensions/fa" title="Category:GetUserBlock extensions/fa">GetUserBlock extensions/fa</a></li><li><a href="/wiki/Category:ImportHandleUnknownUser_extensions/fa" title="Category:ImportHandleUnknownUser extensions/fa">ImportHandleUnknownUser extensions/fa</a></li><li><a href="/wiki/Category:InvalidateEmailComplete_extensions/fa" title="Category:InvalidateEmailComplete extensions/fa">InvalidateEmailComplete extensions/fa</a></li><li><a href="/wiki/Category:LoadExtensionSchemaUpdates_extensions/fa" title="Category:LoadExtensionSchemaUpdates extensions/fa">LoadExtensionSchemaUpdates extensions/fa</a></li><li><a href="/wiki/Category:LocalUserCreated_extensions/fa" title="Category:LocalUserCreated extensions/fa">LocalUserCreated extensions/fa</a></li><li><a href="/wiki/Category:LogEventsListGetExtraInputs_extensions/fa" title="Category:LogEventsListGetExtraInputs extensions/fa">LogEventsListGetExtraInputs extensions/fa</a></li><li><a href="/wiki/Category:MakeGlobalVariablesScript_extensions/fa" title="Category:MakeGlobalVariablesScript extensions/fa">MakeGlobalVariablesScript extensions/fa</a></li><li><a href="/wiki/Category:OtherBlockLogLink_extensions/fa" title="Category:OtherBlockLogLink extensions/fa">OtherBlockLogLink extensions/fa</a></li><li><a href="/wiki/Category:PasswordPoliciesForUser_extensions/fa" title="Category:PasswordPoliciesForUser extensions/fa">PasswordPoliciesForUser extensions/fa</a></li><li><a href="/wiki/Category:PostLoginRedirect_extensions/fa" title="Category:PostLoginRedirect extensions/fa">PostLoginRedirect extensions/fa</a></li><li><a href="/wiki/Category:RenameUserComplete_extensions/fa" title="Category:RenameUserComplete extensions/fa">RenameUserComplete extensions/fa</a></li><li><a href="/wiki/Category:RenameUserPreRename_extensions/fa" title="Category:RenameUserPreRename extensions/fa">RenameUserPreRename extensions/fa</a></li><li><a href="/wiki/Category:RenameUserWarning_extensions/fa" title="Category:RenameUserWarning extensions/fa">RenameUserWarning extensions/fa</a></li><li><a href="/wiki/Category:ResourceLoaderForeignApiModules_extensions/fa" title="Category:ResourceLoaderForeignApiModules extensions/fa">ResourceLoaderForeignApiModules extensions/fa</a></li><li><a href="/w/index.php?title=Category:ResourceLoaderModifyEmbeddedSourceUrls_extensions/fa&action=edit&redlink=1" class="new" title="Category:ResourceLoaderModifyEmbeddedSourceUrls extensions/fa (page does not exist)">ResourceLoaderModifyEmbeddedSourceUrls extensions/fa</a></li><li><a href="/wiki/Category:SecurePoll_GetUserParams_extensions/fa" title="Category:SecurePoll GetUserParams extensions/fa">SecurePoll GetUserParams extensions/fa</a></li><li><a href="/wiki/Category:SessionCheckInfo_extensions/fa" title="Category:SessionCheckInfo extensions/fa">SessionCheckInfo extensions/fa</a></li><li><a href="/wiki/Category:SetupAfterCache_extensions/fa" title="Category:SetupAfterCache extensions/fa">SetupAfterCache extensions/fa</a></li><li><a href="/wiki/Category:SpecialContributionsBeforeMainOutput_extensions/fa" title="Category:SpecialContributionsBeforeMainOutput extensions/fa">SpecialContributionsBeforeMainOutput extensions/fa</a></li><li><a href="/wiki/Category:SpecialLogAddLogSearchRelations_extensions/fa" title="Category:SpecialLogAddLogSearchRelations extensions/fa">SpecialLogAddLogSearchRelations extensions/fa</a></li><li><a href="/wiki/Category:SpecialPageBeforeExecute_extensions/fa" title="Category:SpecialPageBeforeExecute extensions/fa">SpecialPageBeforeExecute extensions/fa</a></li><li><a href="/wiki/Category:SpecialPage_initList_extensions/fa" title="Category:SpecialPage initList extensions/fa">SpecialPage initList extensions/fa</a></li><li><a href="/wiki/Category:SpecialPasswordResetOnSubmit_extensions/fa" title="Category:SpecialPasswordResetOnSubmit extensions/fa">SpecialPasswordResetOnSubmit extensions/fa</a></li><li><a href="/w/index.php?title=Category:TempUserCreatedRedirect_extensions/fa&action=edit&redlink=1" class="new" title="Category:TempUserCreatedRedirect extensions/fa (page does not exist)">TempUserCreatedRedirect extensions/fa</a></li><li><a href="/wiki/Category:TestCanonicalRedirect_extensions/fa" title="Category:TestCanonicalRedirect extensions/fa">TestCanonicalRedirect extensions/fa</a></li><li><a href="/wiki/Category:UnitTestsAfterDatabaseSetup_extensions/fa" title="Category:UnitTestsAfterDatabaseSetup extensions/fa">UnitTestsAfterDatabaseSetup extensions/fa</a></li><li><a href="/wiki/Category:UnitTestsBeforeDatabaseTeardown_extensions/fa" title="Category:UnitTestsBeforeDatabaseTeardown extensions/fa">UnitTestsBeforeDatabaseTeardown extensions/fa</a></li><li><a href="/wiki/Category:UserArrayFromResult_extensions/fa" title="Category:UserArrayFromResult extensions/fa">UserArrayFromResult extensions/fa</a></li><li><a href="/w/index.php?title=Category:UserEditCountUpdate_extensions/fa&action=edit&redlink=1" class="new" title="Category:UserEditCountUpdate extensions/fa (page does not exist)">UserEditCountUpdate extensions/fa</a></li><li><a href="/wiki/Category:UserGetEmail_extensions/fa" title="Category:UserGetEmail extensions/fa">UserGetEmail extensions/fa</a></li><li><a href="/wiki/Category:UserGetEmailAuthenticationTimestamp_extensions/fa" title="Category:UserGetEmailAuthenticationTimestamp extensions/fa">UserGetEmailAuthenticationTimestamp extensions/fa</a></li><li><a href="/wiki/Category:UserGetReservedNames_extensions/fa" title="Category:UserGetReservedNames extensions/fa">UserGetReservedNames extensions/fa</a></li><li><a href="/wiki/Category:UserGetRights_extensions/fa" title="Category:UserGetRights extensions/fa">UserGetRights extensions/fa</a></li><li><a href="/wiki/Category:UserIsBot_extensions/fa" title="Category:UserIsBot extensions/fa">UserIsBot extensions/fa</a></li><li><a href="/wiki/Category:UserIsLocked_extensions/fa" title="Category:UserIsLocked extensions/fa">UserIsLocked extensions/fa</a></li><li><a href="/wiki/Category:UserLoginComplete_extensions/fa" title="Category:UserLoginComplete extensions/fa">UserLoginComplete extensions/fa</a></li><li><a href="/wiki/Category:UserLogout_extensions/fa" title="Category:UserLogout extensions/fa">UserLogout extensions/fa</a></li><li><a href="/wiki/Category:UserLogoutComplete_extensions/fa" title="Category:UserLogoutComplete extensions/fa">UserLogoutComplete extensions/fa</a></li><li><a href="/wiki/Category:UserSaveSettings_extensions/fa" title="Category:UserSaveSettings extensions/fa">UserSaveSettings extensions/fa</a></li><li><a href="/wiki/Category:UserSetEmail_extensions/fa" title="Category:UserSetEmail extensions/fa">UserSetEmail extensions/fa</a></li><li><a href="/wiki/Category:UserSetEmailAuthenticationTimestamp_extensions/fa" title="Category:UserSetEmailAuthenticationTimestamp extensions/fa">UserSetEmailAuthenticationTimestamp extensions/fa</a></li><li><a href="/wiki/Category:GetUserPermissionsErrors_extensions/fa" title="Category:GetUserPermissionsErrors extensions/fa">GetUserPermissionsErrors extensions/fa</a></li><li><a href="/wiki/Category:GetUserPermissionsErrorsExpensive_extensions/fa" title="Category:GetUserPermissionsErrorsExpensive extensions/fa">GetUserPermissionsErrorsExpensive extensions/fa</a></li><li><a href="/wiki/Category:All_extensions/fa" title="Category:All extensions/fa">All extensions/fa</a></li><li><a href="/wiki/Category:Extensions_used_on_Wikimedia/fa" title="Category:Extensions used on Wikimedia/fa">Extensions used on Wikimedia/fa</a></li><li><a href="/wiki/Category:Extensions_included_in_Miraheze/fa" title="Category:Extensions included in Miraheze/fa">Extensions included in Miraheze/fa</a></li><li><a href="/wiki/Category:Extensions_included_in_Telepedia/fa" title="Category:Extensions included in Telepedia/fa">Extensions included in Telepedia/fa</a></li><li><a href="/wiki/Category:Extensions_included_in_WikiForge/fa" title="Category:Extensions included in WikiForge/fa">Extensions included in WikiForge/fa</a></li><li><a href="/wiki/Category:CentralIdLookup_providers/fa" title="Category:CentralIdLookup providers/fa">CentralIdLookup providers/fa</a></li><li><a href="/wiki/Category:Login_extensions/fa" title="Category:Login extensions/fa">Login extensions/fa</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:41.</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/fa&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-xl5gk","wgBackendResponseTime":245,"wgPageParseReport":{"limitreport":{"cputime":"2.129","walltime":"2.416","ppvisitednodes":{"value":16178,"limit":1000000},"postexpandincludesize":{"value":261942,"limit":2097152},"templateargumentsize":{"value":58439,"limit":2097152},"expansiondepth":{"value":21,"limit":100},"expensivefunctioncount":{"value":87,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":34411,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 1895.115 1 -total"," 82.09% 1555.737 1 Template:Extension"," 55.92% 1059.699 136 Template:Ll"," 51.14% 969.133 294 Template:Translatable"," 36.94% 700.078 359 Template:Pagelang"," 6.56% 124.387 2 Template:Mbox"," 5.54% 104.914 1 Template:Foreach"," 5.26% 99.615 1 Template:Used_by"," 5.08% 96.203 6 Template:Extension/HookProvided"," 4.62% 87.557 1 Template:Flatlist"]},"scribunto":{"limitreport-timeusage":{"value":"1.345","limit":"10.000"},"limitreport-memusage":{"value":18903017,"limit":52428800},"limitreport-profile":[["?","520","34.7"],["recursiveClone \u003CmwInit.lua:45\u003E","400","26.7"],["(for generator)","120","8.0"],["MediaWiki\\Extension\\Scribunto\\Engines\\LuaSandbox\\LuaSandboxCallback::getExpandedArgument","80","5.3"],["tostring","80","5.3"],["MediaWiki\\Extension\\Scribunto\\Engines\\LuaSandbox\\LuaSandboxCallback::expandTemplate","60","4.0"],["MediaWiki\\Extension\\Scribunto\\Engines\\LuaSandbox\\LuaSandboxCallback::sub","40","2.7"],["type","20","1.3"],["MediaWiki\\Extension\\Scribunto\\Engines\\LuaSandbox\\LuaSandboxCallback::newTitle","20","1.3"],["getExpandedArgument \u003Cmw.lua:174\u003E","20","1.3"],["[others]","140","9.3"]]},"cachereport":{"origin":"mw-api-int.codfw.main-849f99967d-g6ttt","timestamp":"20241123153404","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>