Topic on Extension talk:PluggableAuth

Summary by Cindy.cicalese

Configuration issue. Not a problem with PluggableAuth.

Ravikzm (talkcontribs)

Configured Mediawiki to use the simplesamlphp with PluggableAuth extensions. But getting blank page (url : wiki.domain.com/index.php?title=Special:PluggableAuthLogin) when try to access wiki.domain.com but working when access wiki.internal.domain.com

- My wiki lives at wiki.internal.domain.com, but is exposed to the world at wiki.domain.com

in both causes authentication is success.

Details :

Media wiki, PluggableAuth, Simplesamlphp version : 1.32.2

Configuration

$wgSimpleSAMLphp_InstallDir = "D:\home\site\wwwroot\simplesamlphp";

$wgSimpleSAMLphp_AuthSourceId = "aadwiki";

$wgSimpleSAMLphp_UsernameAttribute = 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name';

$wgSimpleSAMLphp_RealNameAttribute = 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name';      // Real Name attribute

$wgSimpleSAMLphp_EmailAttribute    = 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name';    // email address attribute

$wgGroupPermissions['*']['autocreateaccount'] = true;


code

[PluggableAuth] In execute()

[PluggableAuth] Getting PluggableAuth singleton

[PluggableAuth] Class name: SimpleSAMLphp

[DBConnection] Wikimedia\Rdbms\LoadBalancer::openConnection: calling initLB() before first connection.

[DBReplication] Cannot use ChronologyProtector with EmptyBagOStuff.

[DBReplication] Wikimedia\Rdbms\LBFactory::getChronologyProtector: using request info {

    "IPAddress": "167.220.26.111",

    "UserAgent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/75.0.3770.100 Safari\/537.36",

    "ChronologyProtection": false,

    "ChronologyPositionIndex": 0,

    "ChronologyClientId": null

}

[DBConnection] Wikimedia\Rdbms\LoadBalancer::openLocalConnection: connected to database 0 at 'localhost'.

[PluggableAuth] Authenticated existing user: ravicv

[error] [ea50d7447bb7b57d1992ec8e] /index.php?title=Special:PluggableAuthLogin   ErrorException from line 174 of D:\home\site\wwwroot\includes\Hooks.php: PHP Warning: Parameter 1 to SimpleSAMLphp::populateGroups() expected to be a reference, value given

#0 D:\home\site\wwwroot\includes\Hooks.php(174): MWExceptionHandler::handleError(integer, string, string, integer, array)

#1 D:\home\site\wwwroot\includes\Hooks.php(202): Hooks::callHook(string, array, array, NULL)

#2 D:\home\site\wwwroot\extensions\PluggableAuth\includes\PluggableAuthLogin.php(44): Hooks::run(string, array)

#3 D:\home\site\wwwroot\includes\specialpage\SpecialPage.php(569): PluggableAuthLogin->execute(NULL)

#4 D:\home\site\wwwroot\includes\specialpage\SpecialPageFactory.php(568): SpecialPage->run(NULL)

#5 D:\home\site\wwwroot\includes\MediaWiki.php(288): MediaWiki\Special\SpecialPageFactory->executePath(Title, RequestContext)

#6 D:\home\site\wwwroot\includes\MediaWiki.php(860): MediaWiki->performRequest()

#7 D:\home\site\wwwroot\includes\MediaWiki.php(517): MediaWiki->main()

#8 D:\home\site\wwwroot\index.php(42): MediaWiki->run()

#9 {main}

[session] SessionBackend "nhjgllihdf5qf2ddxxxxxxxnf1e1o09djpav7i4vb" data dirty due to dirty(): MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->getSecretKeys/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[session] SessionBackend "nhjgllihdf5qf2ddxxxxxxxnf1e1o09djpav7i4vb" data dirty due to dirty(): MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->getSecretKeys/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[session] SessionBackend "nhjgllihdf5qf2ddxxxxxxxnf1e1o09djpav7i4vb" data dirty due to dirty(): PluggableAuthLogin->execute/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[session] SessionBackend "nhjgllihdf5qf2ddxxxxxxxnf1e1o09djpav7i4vb" save: dataDirty=1 metaDirty=0 forcePersist=0

[session] SessionBackend "nhjgllihdf5qf2ddxxxxxxxnf1e1o09djpav7i4vb" data dirty due to dirty(): PluggableAuthLogin->execute/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[session] SessionBackend "nhjgllihdf5qf2ddxxxxxxxnf1e1o09djpav7i4vb" save: dataDirty=1 metaDirty=0 forcePersist=0

[session] SessionBackend "nhjgllihdf5qf2ddxxxxxxxnf1e1o09djpav7i4vb" data dirty due to dirty(): PluggableAuthLogin->execute/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[PluggableAuth] User is authorized.

[session] SessionBackend "nhjgllihdf5qf2ddxxxxxxxnf1e1o09djpav7i4vb" save: dataDirty=1 metaDirty=0 forcePersist=0

[PluggableAuth]

[PluggableAuth] ERROR: return to URL is null or empty

MarkAHershberger (talkcontribs)
Cindy.cicalese (talkcontribs)

You are using an old version of SimpleSAMLphp. That bug was fixed in version 4.4. The current version is 4.5. As best as I can tell from what you have above, you got REL1_32 from ExtensionDistributor, which corresponds to version 4.2. The more recent versions will work with MW 1.32.

Ravikzm (talkcontribs)

Hi Cindy,


I have upgraded the PlugableAuth and Simplesamlphp to 5.7 and 4.5 respectively with MW 1.32.3. still I am seeing the same issue and getting "Fatal error authenticating user' message in UI.

also updated the SimpleSamlphp config to 1.17.4

Log

X-WAWS-UNENCODED-URL: /index.php?title=Special:PluggableAuthLogin

[caches] cluster: WinCacheBagOStuff, WAN: mediawiki-main-default, stash: db-replicated, message: WinCacheBagOStuff, session: WinCacheBagOStuff

[caches] LocalisationCache: using store LCStoreCDB

[session] SessionBackend "erc1nfki9ueng2dobp0sadfdsfdsfske7hh30780bj" is unsaved, marking dirty in constructor

[session] SessionBackend "erc1nfki9ueng2dobp0sadfdsfdsfske7hh30780bj" save: dataDirty=1 metaDirty=1 forcePersist=0

[cookie] already deleted setcookie: "wiki_session", "", "1531290464", "/", "", "1", "1"

[cookie] already deleted setcookie: "wikiUserID", "", "1531290464", "/", "", "1", "1"

[cookie] already deleted setcookie: "wikiToken", "", "1531290464", "/", "", "1", "1"

[cookie] already deleted setcookie: "forceHTTPS", "", "1531290464", "/", "", "", "1"

[PluggableAuth] In execute()

[PluggableAuth] Getting PluggableAuth singleton

[PluggableAuth] Class name: SimpleSAMLphp

[DBConnection] Wikimedia\Rdbms\LoadBalancer::openConnection: calling initLB() before first connection.

[DBReplication] Cannot use ChronologyProtector with EmptyBagOStuff.

[DBReplication] Wikimedia\Rdbms\LBFactory::getChronologyProtector: using request info {

    "IPAddress": "167.220.26.111",

    "UserAgent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/75.0.3770.100 Safari\/537.36",

    "ChronologyProtection": false,

    "ChronologyPositionIndex": 0,

    "ChronologyClientId": null

}

[DBConnection] Wikimedia\Rdbms\LoadBalancer::openLocalConnection: connected to database 0 at 'localhost'.

[PluggableAuth] Authenticated existing user: ravicv

[SimpleSAMLphp] $wgSimpleSAMLphp_GroupMap is not an array

[session] SessionBackend "erc1nfki9ueng2dobp0sadfdsfdsfske7hh30780bj" data dirty due to dirty(): MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->getSecretKeys/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[session] SessionBackend "erc1nfki9ueng2dobp0sadfdsfdsfske7hh30780bj" data dirty due to dirty(): MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->getSecretKeys/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[session] SessionBackend "erc1nfki9ueng2dobp0sadfdsfdsfske7hh30780bj" data dirty due to dirty(): PluggableAuthLogin->execute/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[session] SessionBackend "erc1nfki9ueng2dobp0sadfdsfdsfske7hh30780bj" save: dataDirty=1 metaDirty=0 forcePersist=0

[session] SessionBackend "erc1nfki9ueng2dobp0sadfdsfdsfske7hh30780bj" data dirty due to dirty(): PluggableAuthLogin->execute/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[session] SessionBackend "erc1nfki9ueng2dobp0sadfdsfdsfske7hh30780bj" save: dataDirty=1 metaDirty=0 forcePersist=0

[session] SessionBackend "erc1nfki9ueng2dobp0sadfdsfdsfske7hh30780bj" data dirty due to dirty(): PluggableAuthLogin->execute/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[PluggableAuth] User is authorized.

[session] SessionBackend "erc1nfki9ueng2dobp0sadfdsfdsfske7hh30780bj" save: dataDirty=1 metaDirty=0 forcePersist=0

[PluggableAuth] ERROR: return to URL is null or empty

User: loading options for user 8944 from override cache.

[MessageCache] MessageCache::load: Loading en... local cache is empty, got from global cache

Unstubbing $wgParser on call of $wgParser::getFreshParser from OutputPage->addWikiTextTitleInternal

Parser: using preprocessor: Preprocessor_DOM

MediaWiki::preOutputCommit: primary transaction round committed

MediaWiki::preOutputCommit: pre-send deferred updates completed

MediaWiki::preOutputCommit: LBFactory shutdown completed

Unstubbing $wgLang on call of $wgLang::_unstub from ParserOptions->__construct

[session] SessionBackend "erc1nfki9ueng2dobp0sadfdsfdsfske7hh30780bj" data dirty due to dirty(): User->getEditToken/User->getEditTokenObject/MediaWiki\Session\Session->getToken/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

User: loading options for user 8944 from override cache.

User: loading options for user 8944 from override cache.

[session] SessionBackend "erc1nfki9ueng2dobp0sadfdsfdsfske7hh30780bj" save: dataDirty=1 metaDirty=0 forcePersist=0

OutputPage::sendCacheControl: private caching;  

Ravikzm (talkcontribs)

I have tried MW 1.33.0 and the issue persistent

Cindy.cicalese (talkcontribs)

I see two errors there. The first is:

[SimpleSAMLphp] $wgSimpleSAMLphp_GroupMap is not an array

The second is:

[PluggableAuth] ERROR: return to URL is null or empty

When I have seen the second error, it is usually due to some underlying configuration error in the authentication library. I do see that you are able to authenticate the user, but the session has been cleared by the time you need to get the return to URL. It may be that the first error is causing the second error as a side effect. But, that seems somewhat unlikely (although I encourage you to fix that if you can - are you setting $wgSimpleSAMLphp_GroupMap or is it using its default value?). This seems to be a session-related error. Have you looked at Extension:SimpleSAMLphp#Known_Bugs?

Ravikzm (talkcontribs)

I already verified the known bugs and changed to sql instead of phpsession when i got a infinite loop when authenticating with Azure AAD app.we do not have any group, so not set $wgSimpleSAMLphp_GroupMap and it using default

Cindy.cicalese (talkcontribs)

I filed a bug and submitted a patch for the $wgSimpleSAMLphp_GroupMap warning: https://phabricator.wikimedia.org/T227956.


Regarding the null return to URL, I looked back at your original post and will restate the problem. You mention that logging in with wiki.internal.domain.com gives you a blank page (due to the null return to URL), but logging in with wiki.domain.com does not. The wiki lives at wiki.internal.domain.com, but is exposed to the world at wiki.domain.com. In both cases, you are actually logged in, even though you get the blank page. You can see that in the log:

[PluggableAuth] Authenticated existing user: ravicv

...

[PluggableAuth] User is authorized.


The null return to URL is an indication that the session got cleared or is inaccessible. I would capture the network response from the simpleSAMLphp library redirecting to PluggableAuthLogin, comparing between the access on the two different URLs. I'm wondering if there is an error in the simpleSAMLphp library configuration for the external URL where it is referring to the internal URL or something similar.


To give you some background, the workflow for authentication is as follows. Special:UserLogin redirects to Special:PluggableAuthLogin. The return to URL (the URL of the page to which you should return after authentication is complete) is saved in the session and then a redirect is done by the simpleSAMLphp library to the remote identity provider. When a response is received, the simpleSAMLphp library redirects back to Special:PluggableAuthLogin. The response is processed and then the return to URL is retrieved from the session for a redirect back to the correct page. What is happening here is that the URL is saved, but it is somehow inaccessible after the redirect back to Special:PluggableAuthLogin. The key seems to be the configuration related to the internal/external URLs.

Ravikzm (talkcontribs)

when accessing the MW via external link (wiki.domain.com), the session ("wiki_session" [COOKIE: ARRAffinity=0e33341a591f61ae9bcf90304e488a9c9ec333dcd731e258d7545141a9e14669; wiki_session=j9v7futippng3mddd8676rmad5otusg7082] ) is not set and not sure from where the session name is picked (assuming based on DB name??). The wiki_session is set when I access the MW from wiki.internal.domain.com (see the logs below). Looks the missing session causing the problem.

In SimpleSamlPhp config, I haven't changed any thing related to sessions and configured to use Sqlite instead of PHPSession.

in Local settings I have the below configuration

## The protocol and server name to use in fully-qualified URLs

$wgServer = "https://wiki.domain.com";

wfLoadExtension( 'PluggableAuth' );

wfLoadExtension( 'SimpleSAMLphp' );

$wgSimpleSAMLphp_InstallDir = "D:\home\site\wwwroot\simplesamlphp";

$wgSimpleSAMLphp_AuthSourceId = "wiki";

$wgSimpleSAMLphp_UsernameAttribute = 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name';

$wgSimpleSAMLphp_RealNameAttribute = 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name';      // Real Name attribute

$wgSimpleSAMLphp_EmailAttribute    = 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name';    // email address attribute

$wgGroupPermissions['*']['autocreateaccount'] = true;

$wgUserrightsInterwikiDelimiter = "%";

$wgInvalidUsernameCharacters = "%:";


Wiki.domain.com log

IP: 1.1.1.1

Start request GET /index.php?title=Special:UserLogin

HTTP HEADERS:

CONTENT-TYPE:

CONTENT-LENGTH: 0

X-APPSERVICE-PROTO: https

X-FORWARDED-PROTO: https

X-ARR-SSL: 2048|256|C=US, O=DigiCert Inc, CN=DigiCert SHA2 Secure Server CA|C=US, S=Washington, L=Redmond, O=Microsoft Corporation, CN=*.azurewebsites.net

X-FORWARDED-FOR: 1.1.1.1:37085

X-ORIGINAL-URL: /index.php?title=Special:UserLogin

WAS-DEFAULT-HOSTNAME: wiki.domain.com

X-SITE-DEPLOYMENT-ID: wikidomain

DISGUISED-HOST: wiki.domain.com

X-ARR-LOG-ID: b916f493-6952-4293-978d-4c59725928ce

CLIENT-IP: 1.1.1.1:37085

X-WAWS-UNENCODED-URL: /index.php?title=Special:UserLogin

UPGRADE-INSECURE-REQUESTS: 1

USER-AGENT: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36

REFERER: https://wiki.domain.com/

MAX-FORWARDS: 10

HOST: wiki.domain.com

COOKIE: ARRAffinity=0e33341a591f61ae9bcf90304e488a9c9ec333dcd731e258d7545141a9e14669

ACCEPT-LANGUAGE: en-US,en;q=0.9,ta;q=0.8

ACCEPT-ENCODING: gzip, deflate, br

ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3

CONNECTION: Keep-Alive

[caches] cluster: WinCacheBagOStuff, WAN: mediawiki-main-default, stash: db-replicated, message: WinCacheBagOStuff, session: WinCacheBagOStuff

[caches] LocalisationCache: using store LCStoreCDB

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" is unsaved, marking dirty in constructor

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" save: dataDirty=1 metaDirty=1 forcePersist=0

[cookie] already deleted setcookie: "wiki_session", "", "1531777142", "/", "", "1", "1"

[cookie] already deleted setcookie: "wikiUserID", "", "1531777142", "/", "", "1", "1"

[cookie] already deleted setcookie: "wikiToken", "", "1531777142", "/", "", "1", "1"

[cookie] already deleted setcookie: "forceHTTPS", "", "1531777142", "/", "", "", "1"

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" force-persist due to persist()

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" save: dataDirty=0 metaDirty=1 forcePersist=1

[cookie] setcookie: "wiki_session", "h06p6o4qts74nvdrf8j3goqf58a1778p", "0", "/", "", "1", "1"

[cookie] already deleted setcookie: "wikiUserID", "", "1531777142", "/", "", "1", "1"

[cookie] already deleted setcookie: "wikiToken", "", "1531777142", "/", "", "1", "1"

[cookie] already deleted setcookie: "forceHTTPS", "", "1531777142", "/", "", "", "1"

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" Taking over PHP session

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" save: dataDirty=0 metaDirty=1 forcePersist=1

[cookie] already set setcookie: "wiki_session", "h06p6o4qts74nvdrf8j3goqf58a1778p", "0", "/", "", "1", "1"

[cookie] already deleted setcookie: "wikiUserID", "", "1531777142", "/", "", "1", "1"

[cookie] already deleted setcookie: "wikiToken", "", "1531777142", "/", "", "1", "1"

[cookie] already deleted setcookie: "forceHTTPS", "", "1531777142", "/", "", "", "1"

[MessageCache] MessageCache::load: Loading en... local cache is empty, got from global cache

Unstubbing $wgParser on call of $wgParser::firstCallInit from MessageCache->transform

Parser: using preprocessor: Preprocessor_DOM

Unstubbing $wgLang on call of $wgLang::_unstub from ParserOptions->__construct

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" data dirty due to dirty(): LoginSignupSpecialPage->execute/SpecialUserLogin->getToken/MediaWiki\Session\Session->getToken/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" save: dataDirty=1 metaDirty=0 forcePersist=0

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" data dirty due to dirty(): MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->getSecretKeys/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" data dirty due to dirty(): MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->getSecretKeys/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" data dirty due to dirty(): MediaWiki\Auth\ThrottlePreAuthenticationProvider->testForAuthentication/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" save: dataDirty=1 metaDirty=0 forcePersist=0

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" data dirty due to dirty(): AuthManagerSpecialPage->performAuthenticationStep/MediaWiki\Auth\AuthManager->beginAuthentication/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" save: dataDirty=1 metaDirty=0 forcePersist=0

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" data dirty due to dirty(): PluggableAuthPrimaryAuthenticationProvider->beginPrimaryAuthentication/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" save: dataDirty=1 metaDirty=0 forcePersist=0

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" data dirty due to dirty(): PluggableAuthPrimaryAuthenticationProvider->beginPrimaryAuthentication/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" save: dataDirty=1 metaDirty=0 forcePersist=0

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" data dirty due to dirty(): PluggableAuthPrimaryAuthenticationProvider->beginPrimaryAuthentication/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" save: dataDirty=1 metaDirty=0 forcePersist=0

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" data dirty due to dirty(): PluggableAuthPrimaryAuthenticationProvider->beginPrimaryAuthentication/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[authentication] Primary login with PluggableAuthPrimaryAuthenticationProvider returned REDIRECT

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" data dirty due to dirty(): MediaWiki\Auth\AuthManager->beginAuthentication/MediaWiki\Auth\AuthManager->continueAuthentication/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[session] SessionBackend "h06p6o4qts74nvdrf8j3goqf58a1778p" save: dataDirty=1 metaDirty=0 forcePersist=0

MediaWiki::preOutputCommit: primary transaction round committed

MediaWiki::preOutputCommit: pre-send deferred updates completed

[DBReplication] Cannot use ChronologyProtector with EmptyBagOStuff.

[DBReplication] Wikimedia\Rdbms\LBFactory::getChronologyProtector: using request info {

    "IPAddress": "1.1.1.1",

    "UserAgent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/75.0.3770.100 Safari\/537.36",

    "ChronologyProtection": false,

    "ChronologyPositionIndex": 0,

    "ChronologyClientId": null

}

MediaWiki::preOutputCommit: LBFactory shutdown completed

OutputPage::sendCacheControl: private caching;  **

[error] [1afd424d6312c4b62a65d370] /index.php?title=Special:UserLogin   ErrorException from line 80 of D:\home\site\wwwroot\includes\libs\objectcache\WinCacheBagOStuff.php: PHP Warning: wincache_ucache_add(): function called with a key which already exists

#0 [internal function]: MWExceptionHandler::handleError(integer, string, string, integer, array)

#1 D:\home\site\wwwroot\includes\libs\objectcache\WinCacheBagOStuff.php(80): wincache_ucache_add(string, string, integer)

#2 D:\home\site\wwwroot\includes\libs\objectcache\WANObjectCache.php(1385): WinCacheBagOStuff->add(string, integer, integer)

#3 D:\home\site\wwwroot\includes\libs\objectcache\WANObjectCache.php(1275): WANObjectCache->doGetWithSetCallback(string, integer, Closure, array)

#4 D:\home\site\wwwroot\includes\libs\rdbms\loadbalancer\LoadBalancer.php(1759): WANObjectCache->getWithSetCallback(string, integer, Closure, array)

#5 D:\home\site\wwwroot\includes\libs\rdbms\loadbalancer\LoadBalancer.php(1726): Wikimedia\Rdbms\LoadBalancer->masterRunningReadOnly(boolean, NULL)

#6 D:\home\site\wwwroot\includes\ReadOnlyMode.php(45): Wikimedia\Rdbms\LoadBalancer->getReadOnlyReason()

#7 D:\home\site\wwwroot\includes\ReadOnlyMode.php(29): ReadOnlyMode->getReason()

#8 D:\home\site\wwwroot\includes\GlobalFunctions.php(1199): ReadOnlyMode->isReadOnly()

#9 D:\home\site\wwwroot\includes\MediaWiki.php(962): wfReadOnly()

#10 D:\home\site\wwwroot\includes\MediaWiki.php(912): MediaWiki->triggerJobs()

#11 D:\home\site\wwwroot\includes\MediaWiki.php(731): MediaWiki->restInPeace(string, boolean)

#12 D:\home\site\wwwroot\includes\MediaWiki.php(754): MediaWiki->{closure}()

#13 D:\home\site\wwwroot\includes\MediaWiki.php(548): MediaWiki->doPostOutputShutdown(string)

#14 D:\home\site\wwwroot\index.php(42): MediaWiki->run()

#15 {main}

[DBConnection] Wikimedia\Rdbms\LoadBalancer::openConnection: calling initLB() before first connection.

[DBQuery] PRAGMA case_sensitive_like = 1

[DBConnection] Wikimedia\Rdbms\LoadBalancer::openLocalConnection: connected to database 0 at 'localhost'.

[DBQuery] SELECT  DISTINCT job_cmd  FROM job    WHERE job_cmd IN ('deletePage','refreshLinks','deleteLinks','htmlCacheUpdate','sendMail','enotifNotify','fixDoubleRedirect','AssembleUploadChunks','PublishStashedFile','ThumbnailRender','recentChangesUpdate','refreshLinksPrioritized','refreshLinksDynamic','activityUpdateJob','categoryMembershipChange','clearUserWatchlist','cdnPurge','userGroupExpiry','clearWatchlistNotifications','enqueue','null')   

Request ended normally

[session] Saving all sessions on shutdown

[DBConnection] Wikimedia\Rdbms\LoadBalancer::closeAll: closing connection to database ''.

IP: 1.1.1.1

Start request GET /index.php?title=Special:PluggableAuthLogin

HTTP HEADERS:

CONTENT-TYPE:

CONTENT-LENGTH: 0

X-APPSERVICE-PROTO: https

X-FORWARDED-PROTO: https

X-ARR-SSL: 2048|256|C=US, S=Washington, L=Redmond, O=Microsoft Corporation, OU=Microsoft IT, CN=Microsoft IT TLS CA 2|CN=wiki.internal.domain.com

X-FORWARDED-FOR: 1.1.1.1:45361

X-ORIGINAL-URL: /index.php?title=Special:PluggableAuthLogin

WAS-DEFAULT-HOSTNAME: wiki.domain.com

X-SITE-DEPLOYMENT-ID: wikidomain

DISGUISED-HOST: wiki.internal.domain.com

X-ARR-LOG-ID: a4befab0-841b-48e2-b57f-55835085f27f

CLIENT-IP: 1.1.1.1:45361

X-WAWS-UNENCODED-URL: /index.php?title=Special:PluggableAuthLogin

UPGRADE-INSECURE-REQUESTS: 1

USER-AGENT: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36

REFERER: https://wiki.domain.com/

MAX-FORWARDS: 10

HOST: wiki.internal.domain.com

ACCEPT-LANGUAGE: en-US,en;q=0.9,ta;q=0.8

ACCEPT-ENCODING: gzip, deflate, br

ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3

CONNECTION: Keep-Alive

[caches] cluster: WinCacheBagOStuff, WAN: mediawiki-main-default, stash: db-replicated, message: WinCacheBagOStuff, session: WinCacheBagOStuff

[caches] LocalisationCache: using store LCStoreCDB

[session] SessionBackend "5dbtjn52abbif1bim6tlr00ah9nb7cje" is unsaved, marking dirty in constructor

[session] SessionBackend "5dbtjn52abbif1bim6tlr00ah9nb7cje" save: dataDirty=1 metaDirty=1 forcePersist=0

[cookie] already deleted setcookie: "wiki_session", "", "1531777144", "/", "", "1", "1"

[cookie] already deleted setcookie: "wikiUserID", "", "1531777144", "/", "", "1", "1"

[cookie] already deleted setcookie: "wikiToken", "", "1531777144", "/", "", "1", "1"

[cookie] already deleted setcookie: "forceHTTPS", "", "1531777144", "/", "", "", "1"

[PluggableAuth] In execute()

[PluggableAuth] Getting PluggableAuth singleton

[PluggableAuth] Class name: SimpleSAMLphp

[session] Saving all sessions on shutdown

[DBReplication] Cannot use ChronologyProtector with EmptyBagOStuff.

[DBReplication] Wikimedia\Rdbms\LBFactory::getChronologyProtector: using request info {

    "IPAddress": "1.1.1.1",

    "UserAgent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/75.0.3770.100 Safari\/537.36",

    "ChronologyProtection": false,

    "ChronologyPositionIndex": 0,

    "ChronologyClientId": null

}

IP: 1.1.1.1

Start request GET /index.php?title=Special:PluggableAuthLogin

HTTP HEADERS:

CONTENT-TYPE:

CONTENT-LENGTH: 0

X-APPSERVICE-PROTO: https

X-FORWARDED-PROTO: https

X-ARR-SSL: 2048|256|C=US, S=Washington, L=Redmond, O=Microsoft Corporation, OU=Microsoft IT, CN=Microsoft IT TLS CA 2|CN=wiki.internal.domain.com

X-FORWARDED-FOR: 1.1.1.1:45361

X-ORIGINAL-URL: /index.php?title=Special:PluggableAuthLogin

WAS-DEFAULT-HOSTNAME: wiki.domain.com

X-SITE-DEPLOYMENT-ID: wikidomain

DISGUISED-HOST: wiki.internal.domain.com

X-ARR-LOG-ID: 9daa4ec8-41bc-43fa-9f02-acac7ef69dd1

CLIENT-IP: 1.1.1.1:45361

X-WAWS-UNENCODED-URL: /index.php?title=Special:PluggableAuthLogin

UPGRADE-INSECURE-REQUESTS: 1

USER-AGENT: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36

REFERER: https://login.microsoftonline.com/

MAX-FORWARDS: 10

HOST: wiki.internal.domain.com

COOKIE: SimpleSAMLSessionID=17cef629e8bfe6dc232d330074fd09c4; ARRAffinity=0e33341a591f61ae9bcf90304e488a9c9ec333dcd731e258d7545141a9e14669; SimpleSAMLAuthToken=_e6cb7456688c1425b79ddc21fc7ddcb5b24ee09687

ACCEPT-LANGUAGE: en-US,en;q=0.9,ta;q=0.8

ACCEPT-ENCODING: gzip, deflate, br

ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3

CONNECTION: Keep-Alive

CACHE-CONTROL: max-age=0

[caches] cluster: WinCacheBagOStuff, WAN: mediawiki-main-default, stash: db-replicated, message: WinCacheBagOStuff, session: WinCacheBagOStuff

[caches] LocalisationCache: using store LCStoreCDB

[session] SessionBackend "lu2vrklorssss8p8ko3ijor4fuq2cp4og45k" is unsaved, marking dirty in constructor

[session] SessionBackend "lu2vrklorssss8p8ko3ijor4fuq2cp4og45k" save: dataDirty=1 metaDirty=1 forcePersist=0

[cookie] already deleted setcookie: "wiki_session", "", "1531777155", "/", "", "1", "1"

[cookie] already deleted setcookie: "wikiUserID", "", "1531777155", "/", "", "1", "1"

[cookie] already deleted setcookie: "wikiToken", "", "1531777155", "/", "", "1", "1"

[cookie] already deleted setcookie: "forceHTTPS", "", "1531777155", "/", "", "", "1"

[PluggableAuth] In execute()

[PluggableAuth] Getting PluggableAuth singleton

[PluggableAuth] Class name: SimpleSAMLphp

[DBConnection] Wikimedia\Rdbms\LoadBalancer::openConnection: calling initLB() before first connection.

[DBReplication] Cannot use ChronologyProtector with EmptyBagOStuff.

[DBReplication] Wikimedia\Rdbms\LBFactory::getChronologyProtector: using request info {

    "IPAddress": "1.1.1.1",

    "UserAgent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/75.0.3770.100 Safari\/537.36",

    "ChronologyProtection": false,

    "ChronologyPositionIndex": 0,

    "ChronologyClientId": null

}

[DBQuery] PRAGMA case_sensitive_like = 1

[DBConnection] Wikimedia\Rdbms\LoadBalancer::openLocalConnection: connected to database 0 at 'localhost'.

[DBQuery] BEGIN DEFERRED

[DBQuery] SELECT  user_id  FROM user    WHERE user_name = 'ravicv'  LIMIT 1  

[PluggableAuth] Authenticated existing user: ravicv

[session] SessionBackend "lu2vrklorssss8p8ko3ijor4fuq2cp4og45k" data dirty due to dirty(): MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->getSecretKeys/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[session] SessionBackend "lu2vrklorssss8p8ko3ijor4fuq2cp4og45k" data dirty due to dirty(): MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->getSecretKeys/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[session] SessionBackend "lu2vrklorssss8p8ko3ijor4fuq2cp4og45k" data dirty due to dirty(): PluggableAuthLogin->execute/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[session] SessionBackend "lu2vrklorssss8p8ko3ijor4fuq2cp4og45k" save: dataDirty=1 metaDirty=0 forcePersist=0

[session] SessionBackend "lu2vrklorssss8p8ko3ijor4fuq2cp4og45k" data dirty due to dirty(): PluggableAuthLogin->execute/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[session] SessionBackend "lu2vrklorssss8p8ko3ijor4fuq2cp4og45k" save: dataDirty=1 metaDirty=0 forcePersist=0

[session] SessionBackend "lu2vrklorssss8p8ko3ijor4fuq2cp4og45k" data dirty due to dirty(): PluggableAuthLogin->execute/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[PluggableAuth] User is authorized.

[session] SessionBackend "lu2vrklorssss8p8ko3ijor4fuq2cp4og45k" save: dataDirty=1 metaDirty=0 forcePersist=0

[PluggableAuth] ERROR: return to URL is null or empty

User: loading options for user 8944 from override cache.

[MessageCache] MessageCache::load: Loading en... local cache is empty, got from global cache

Unstubbing $wgParser on call of $wgParser::getFreshParser from OutputPage->addWikiTextTitleInternal

Parser: using preprocessor: Preprocessor_DOM

[DBQuery] COMMIT

MediaWiki::preOutputCommit: primary transaction round committed

MediaWiki::preOutputCommit: pre-send deferred updates completed

MediaWiki::preOutputCommit: LBFactory shutdown completed

[DBQuery] BEGIN DEFERRED

[DBQuery] SELECT  page_id,page_len,page_is_redirect,page_latest,page_restrictions,page_content_model,page_namespace,page_title  FROM page    WHERE (page_namespace = '2' AND page_title = 'ravicv') OR (page_namespace = '3' AND page_title = 'ravicv') OR (page_namespace = '4' AND page_title IN ('Privacy_policy','About','General_disclaimer') )  

[DBQuery] SELECT  user_id  FROM user_newtalk    WHERE user_id = '8944'  LIMIT 1  

Unstubbing $wgLang on call of $wgLang::_unstub from ParserOptions->__construct

[session] SessionBackend "lu2vrklorssss8p8ko3ijor4fuq2cp4og45k" data dirty due to dirty(): User->getEditToken/User->getEditTokenObject/MediaWiki\Session\Session->getToken/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty

[DBQuery] SELECT  page_namespace,page_title,page_touched,page_len,page_latest  FROM page    WHERE (page_namespace = '8' AND page_title IN ('Common.js','Vector.js') )  

User: loading options for user 8944 from override cache.

User: loading options for user 8944 from override cache.

[session] SessionBackend "lu2vrklorssss8p8ko3ijor4fuq2cp4og45k" save: dataDirty=1 metaDirty=0 forcePersist=0

OutputPage::sendCacheControl: private caching;  **

[DBQuery] COMMIT

[error] [69cf47e20cdcde01af853bf4] /index.php?title=Special:PluggableAuthLogin   ErrorException from line 80 of D:\home\site\wwwroot\includes\libs\objectcache\WinCacheBagOStuff.php: PHP Warning: wincache_ucache_add(): function called with a key which already exists

#0 [internal function]: MWExceptionHandler::handleError(integer, string, string, integer, array)

#1 D:\home\site\wwwroot\includes\libs\objectcache\WinCacheBagOStuff.php(80): wincache_ucache_add(string, string, integer)

#2 D:\home\site\wwwroot\includes\libs\objectcache\WANObjectCache.php(1385): WinCacheBagOStuff->add(string, integer, integer)

#3 D:\home\site\wwwroot\includes\libs\objectcache\WANObjectCache.php(1275): WANObjectCache->doGetWithSetCallback(string, integer, Closure, array)

#4 D:\home\site\wwwroot\includes\libs\rdbms\loadbalancer\LoadBalancer.php(1759): WANObjectCache->getWithSetCallback(string, integer, Closure, array)

#5 D:\home\site\wwwroot\includes\libs\rdbms\loadbalancer\LoadBalancer.php(1726): Wikimedia\Rdbms\LoadBalancer->masterRunningReadOnly(boolean, NULL)

#6 D:\home\site\wwwroot\includes\ReadOnlyMode.php(45): Wikimedia\Rdbms\LoadBalancer->getReadOnlyReason()

#7 D:\home\site\wwwroot\includes\ReadOnlyMode.php(29): ReadOnlyMode->getReason()

#8 D:\home\site\wwwroot\includes\GlobalFunctions.php(1199): ReadOnlyMode->isReadOnly()

#9 D:\home\site\wwwroot\includes\MediaWiki.php(962): wfReadOnly()

#10 D:\home\site\wwwroot\includes\MediaWiki.php(912): MediaWiki->triggerJobs()

#11 D:\home\site\wwwroot\includes\MediaWiki.php(731): MediaWiki->restInPeace(string, boolean)

#12 D:\home\site\wwwroot\includes\MediaWiki.php(754): MediaWiki->{closure}()

#13 D:\home\site\wwwroot\includes\MediaWiki.php(548): MediaWiki->doPostOutputShutdown(string)

#14 D:\home\site\wwwroot\index.php(42): MediaWiki->run()

#15 {main}


Wiki.internal.domain.com log


IP: 1.1.1.1 Start request GET /index.php?title=Special:UserLogin HTTP HEADERS: CONTENT-TYPE: CONTENT-LENGTH: 0 X-APPSERVICE-PROTO: https X-FORWARDED-PROTO: https X-ARR-SSL: 2048|256|C=US, S=Washington, L=Redmond, O=Microsoft Corporation, OU=Microsoft IT, CN=Microsoft IT TLS CA 2|CN=wiki.internal.domain.com X-FORWARDED-FOR: 1.1.1.1:31336 X-ORIGINAL-URL: /index.php?title=Special:UserLogin WAS-DEFAULT-HOSTNAME: wiki.domain.com X-SITE-DEPLOYMENT-ID: wikidomain DISGUISED-HOST: wiki.internal.domain.com X-ARR-LOG-ID: 0925a0ca-c619-4ea9-a268-ae5077973906 CLIENT-IP: 1.1.1.1:31336 X-WAWS-UNENCODED-URL: /index.php?title=Special:UserLogin UPGRADE-INSECURE-REQUESTS: 1 USER-AGENT: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36 REFERER: https://wiki.internal.domain.com/ MAX-FORWARDS: 10 HOST: wiki.internal.domain.com COOKIE: ARRAffinity=0e33341a591f61ae9bcf90304e488a9c9ec333dcd731e258d7545141a9e14669 ACCEPT-LANGUAGE: en-US,en;q=0.9,ta;q=0.8 ACCEPT-ENCODING: gzip, deflate, br ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3 CONNECTION: Keep-Alive [caches] cluster: WinCacheBagOStuff, WAN: mediawiki-main-default, stash: db-replicated, message: WinCacheBagOStuff, session: WinCacheBagOStuff [caches] LocalisationCache: using store LCStoreCDB [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" is unsaved, marking dirty in constructor [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" save: dataDirty=1 metaDirty=1 forcePersist=0 [cookie] already deleted setcookie: "wiki_session", "", "1531777203", "/", "", "1", "1" [cookie] already deleted setcookie: "wikiUserID", "", "1531777203", "/", "", "1", "1" [cookie] already deleted setcookie: "wikiToken", "", "1531777203", "/", "", "1", "1" [cookie] already deleted setcookie: "forceHTTPS", "", "1531777203", "/", "", "", "1" [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" force-persist due to persist() [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" save: dataDirty=0 metaDirty=1 forcePersist=1 [cookie] setcookie: "wiki_session", "j9v7futippng3mddd8676rmad5otusg7082", "0", "/", "", "1", "1" [cookie] already deleted setcookie: "wikiUserID", "", "1531777203", "/", "", "1", "1" [cookie] already deleted setcookie: "wikiToken", "", "1531777203", "/", "", "1", "1" [cookie] already deleted setcookie: "forceHTTPS", "", "1531777203", "/", "", "", "1" [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" Taking over PHP session [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" save: dataDirty=0 metaDirty=1 forcePersist=1 [cookie] already set setcookie: "wiki_session", "j9v7futippng3mddd8676rmad5otusg7082", "0", "/", "", "1", "1" [cookie] already deleted setcookie: "wikiUserID", "", "1531777203", "/", "", "1", "1" [cookie] already deleted setcookie: "wikiToken", "", "1531777203", "/", "", "1", "1" [cookie] already deleted setcookie: "forceHTTPS", "", "1531777203", "/", "", "", "1" [MessageCache] MessageCache::load: Loading en... local cache is empty, got from global cache Unstubbing $wgParser on call of $wgParser::firstCallInit from MessageCache->transform Parser: using preprocessor: Preprocessor_DOM Unstubbing $wgLang on call of $wgLang::_unstub from ParserOptions->__construct [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" data dirty due to dirty(): LoginSignupSpecialPage->execute/SpecialUserLogin->getToken/MediaWiki\Session\Session->getToken/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" save: dataDirty=1 metaDirty=0 forcePersist=0 [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" data dirty due to dirty(): MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->getSecretKeys/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" data dirty due to dirty(): MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->getSecretKeys/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" data dirty due to dirty(): MediaWiki\Auth\ThrottlePreAuthenticationProvider->testForAuthentication/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" save: dataDirty=1 metaDirty=0 forcePersist=0 [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" data dirty due to dirty(): AuthManagerSpecialPage->performAuthenticationStep/MediaWiki\Auth\AuthManager->beginAuthentication/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" save: dataDirty=1 metaDirty=0 forcePersist=0 [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" data dirty due to dirty(): PluggableAuthPrimaryAuthenticationProvider->beginPrimaryAuthentication/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" save: dataDirty=1 metaDirty=0 forcePersist=0 [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" data dirty due to dirty(): PluggableAuthPrimaryAuthenticationProvider->beginPrimaryAuthentication/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" save: dataDirty=1 metaDirty=0 forcePersist=0 [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" data dirty due to dirty(): PluggableAuthPrimaryAuthenticationProvider->beginPrimaryAuthentication/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" save: dataDirty=1 metaDirty=0 forcePersist=0 [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" data dirty due to dirty(): PluggableAuthPrimaryAuthenticationProvider->beginPrimaryAuthentication/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty [authentication] Primary login with PluggableAuthPrimaryAuthenticationProvider returned REDIRECT [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" data dirty due to dirty(): MediaWiki\Auth\AuthManager->beginAuthentication/MediaWiki\Auth\AuthManager->continueAuthentication/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" save: dataDirty=1 metaDirty=0 forcePersist=0 MediaWiki::preOutputCommit: primary transaction round committed MediaWiki::preOutputCommit: pre-send deferred updates completed [DBReplication] Cannot use ChronologyProtector with EmptyBagOStuff. [DBReplication] Wikimedia\Rdbms\LBFactory::getChronologyProtector: using request info {

   "IPAddress": "1.1.1.1",
   "UserAgent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/75.0.3770.100 Safari\/537.36",
   "ChronologyProtection": false,
   "ChronologyPositionIndex": 0,
   "ChronologyClientId": null

} MediaWiki::preOutputCommit: LBFactory shutdown completed OutputPage::sendCacheControl: private caching; ** [error] [20a89eee77ff52d9404e5a24] /index.php?title=Special:UserLogin ErrorException from line 80 of D:\home\site\wwwroot\includes\libs\objectcache\WinCacheBagOStuff.php: PHP Warning: wincache_ucache_add(): function called with a key which already exists

  1. 0 [internal function]: MWExceptionHandler::handleError(integer, string, string, integer, array)
  2. 1 D:\home\site\wwwroot\includes\libs\objectcache\WinCacheBagOStuff.php(80): wincache_ucache_add(string, string, integer)
  3. 2 D:\home\site\wwwroot\includes\libs\objectcache\WANObjectCache.php(1385): WinCacheBagOStuff->add(string, integer, integer)
  4. 3 D:\home\site\wwwroot\includes\libs\objectcache\WANObjectCache.php(1275): WANObjectCache->doGetWithSetCallback(string, integer, Closure, array)
  5. 4 D:\home\site\wwwroot\includes\libs\rdbms\loadbalancer\LoadBalancer.php(1759): WANObjectCache->getWithSetCallback(string, integer, Closure, array)
  6. 5 D:\home\site\wwwroot\includes\libs\rdbms\loadbalancer\LoadBalancer.php(1726): Wikimedia\Rdbms\LoadBalancer->masterRunningReadOnly(boolean, NULL)
  7. 6 D:\home\site\wwwroot\includes\ReadOnlyMode.php(45): Wikimedia\Rdbms\LoadBalancer->getReadOnlyReason()
  8. 7 D:\home\site\wwwroot\includes\ReadOnlyMode.php(29): ReadOnlyMode->getReason()
  9. 8 D:\home\site\wwwroot\includes\GlobalFunctions.php(1199): ReadOnlyMode->isReadOnly()
  10. 9 D:\home\site\wwwroot\includes\MediaWiki.php(962): wfReadOnly()
  11. 10 D:\home\site\wwwroot\includes\MediaWiki.php(912): MediaWiki->triggerJobs()
  12. 11 D:\home\site\wwwroot\includes\MediaWiki.php(731): MediaWiki->restInPeace(string, boolean)
  13. 12 D:\home\site\wwwroot\includes\MediaWiki.php(754): MediaWiki->{closure}()
  14. 13 D:\home\site\wwwroot\includes\MediaWiki.php(548): MediaWiki->doPostOutputShutdown(string)
  15. 14 D:\home\site\wwwroot\index.php(42): MediaWiki->run()
  16. 15 {main}

[DBConnection] Wikimedia\Rdbms\LoadBalancer::openConnection: calling initLB() before first connection. [DBQuery] PRAGMA case_sensitive_like = 1 [DBConnection] Wikimedia\Rdbms\LoadBalancer::openLocalConnection: connected to database 0 at 'localhost'. [DBQuery] SELECT DISTINCT job_cmd FROM job WHERE job_cmd IN ('deletePage','refreshLinks','deleteLinks','htmlCacheUpdate','sendMail','enotifNotify','fixDoubleRedirect','AssembleUploadChunks','PublishStashedFile','ThumbnailRender','recentChangesUpdate','refreshLinksPrioritized','refreshLinksDynamic','activityUpdateJob','categoryMembershipChange','clearUserWatchlist','cdnPurge','userGroupExpiry','clearWatchlistNotifications','enqueue','null') Request ended normally [session] Saving all sessions on shutdown [DBConnection] Wikimedia\Rdbms\LoadBalancer::closeAll: closing connection to database . IP: 1.1.1.1 Start request GET /index.php?title=Special:PluggableAuthLogin HTTP HEADERS: CONTENT-TYPE: CONTENT-LENGTH: 0 X-APPSERVICE-PROTO: https X-FORWARDED-PROTO: https X-ARR-SSL: 2048|256|C=US, S=Washington, L=Redmond, O=Microsoft Corporation, OU=Microsoft IT, CN=Microsoft IT TLS CA 2|CN=wiki.internal.domain.com X-FORWARDED-FOR: 1.1.1.1:31336 X-ORIGINAL-URL: /index.php?title=Special:PluggableAuthLogin WAS-DEFAULT-HOSTNAME: wiki.domain.com X-SITE-DEPLOYMENT-ID: wikidomain DISGUISED-HOST: wiki.internal.domain.com X-ARR-LOG-ID: 30bb8ffa-d39f-4d29-a3c3-d3a51489e110 CLIENT-IP: 1.1.1.1:31336 X-WAWS-UNENCODED-URL: /index.php?title=Special:PluggableAuthLogin UPGRADE-INSECURE-REQUESTS: 1 USER-AGENT: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36 REFERER: https://wiki.internal.domain.com/ MAX-FORWARDS: 10 HOST: wiki.internal.domain.com COOKIE: ARRAffinity=0e33341a591f61ae9bcf90304e488a9c9ec333dcd731e258d7545141a9e14669; wiki_session=j9v7futippng3mddd8676rmad5otusg7082 ACCEPT-LANGUAGE: en-US,en;q=0.9,ta;q=0.8 ACCEPT-ENCODING: gzip, deflate, br ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3 CONNECTION: Keep-Alive [caches] cluster: WinCacheBagOStuff, WAN: mediawiki-main-default, stash: db-replicated, message: WinCacheBagOStuff, session: WinCacheBagOStuff [caches] LocalisationCache: using store LCStoreCDB [session] Session "j9v7futippng3mddd8676rmad5otusg7082" requested without UserID cookie [PluggableAuth] In execute() [PluggableAuth] Getting PluggableAuth singleton [PluggableAuth] Class name: SimpleSAMLphp [session] Saving all sessions on shutdown [DBReplication] Cannot use ChronologyProtector with EmptyBagOStuff. [DBReplication] Wikimedia\Rdbms\LBFactory::getChronologyProtector: using request info {

   "IPAddress": "1.1.1.1",
   "UserAgent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/75.0.3770.100 Safari\/537.36",
   "ChronologyProtection": false,
   "ChronologyPositionIndex": 0,
   "ChronologyClientId": null

} IP: 1.1.1.1 Start request GET /index.php?title=Special:PluggableAuthLogin HTTP HEADERS: CONTENT-TYPE: CONTENT-LENGTH: 0 X-APPSERVICE-PROTO: https X-FORWARDED-PROTO: https X-ARR-SSL: 2048|256|C=US, S=Washington, L=Redmond, O=Microsoft Corporation, OU=Microsoft IT, CN=Microsoft IT TLS CA 2|CN=wiki.internal.domain.com X-FORWARDED-FOR: 1.1.1.1:31336 X-ORIGINAL-URL: /index.php?title=Special:PluggableAuthLogin WAS-DEFAULT-HOSTNAME: wiki.domain.com X-SITE-DEPLOYMENT-ID: wikidomain DISGUISED-HOST: wiki.internal.domain.com X-ARR-LOG-ID: c3ba597f-a59d-434e-8ac7-ab9748fc36bc CLIENT-IP: 1.1.1.1:31336 X-WAWS-UNENCODED-URL: /index.php?title=Special:PluggableAuthLogin UPGRADE-INSECURE-REQUESTS: 1 USER-AGENT: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36 REFERER: https://login.microsoftonline.com/ MAX-FORWARDS: 10 HOST: wiki.internal.domain.com COOKIE: ARRAffinity=0e33341a591f61ae9bcf90304e488a9c9ec333dcd731e258d7545141a9e14669; wiki_session=j9v7futippng3mddd8676rmad5otusg7082; SimpleSAMLSessionID=f61d6a6b45f7434c4c33c30736e86041; SimpleSAMLAuthToken=_a3aa5b79e9826397264e42fafa139bf02c90565009 ACCEPT-LANGUAGE: en-US,en;q=0.9,ta;q=0.8 ACCEPT-ENCODING: gzip, deflate, br ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3 CONNECTION: Keep-Alive CACHE-CONTROL: max-age=0 [caches] cluster: WinCacheBagOStuff, WAN: mediawiki-main-default, stash: db-replicated, message: WinCacheBagOStuff, session: WinCacheBagOStuff [caches] LocalisationCache: using store LCStoreCDB [session] Session "j9v7futippng3mddd8676rmad5otusg7082" requested without UserID cookie [PluggableAuth] In execute() [PluggableAuth] Getting PluggableAuth singleton [PluggableAuth] Class name: SimpleSAMLphp [DBConnection] Wikimedia\Rdbms\LoadBalancer::openConnection: calling initLB() before first connection. [DBReplication] Cannot use ChronologyProtector with EmptyBagOStuff. [DBReplication] Wikimedia\Rdbms\LBFactory::getChronologyProtector: using request info {

   "IPAddress": "1.1.1.1",
   "UserAgent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/75.0.3770.100 Safari\/537.36",
   "ChronologyProtection": false,
   "ChronologyPositionIndex": 0,
   "ChronologyClientId": null

} [DBQuery] PRAGMA case_sensitive_like = 1 [DBConnection] Wikimedia\Rdbms\LoadBalancer::openLocalConnection: connected to database 0 at 'localhost'. [DBQuery] BEGIN DEFERRED [DBQuery] SELECT user_id FROM user WHERE user_name = 'ravicv' LIMIT 1 [PluggableAuth] Authenticated existing user: ravicv [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" data dirty due to dirty(): PluggableAuthLogin->execute/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" save: dataDirty=1 metaDirty=0 forcePersist=0 [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" data dirty due to dirty(): PluggableAuthLogin->execute/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" save: dataDirty=1 metaDirty=0 forcePersist=0 [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" data dirty due to dirty(): PluggableAuthLogin->execute/MediaWiki\Auth\AuthManager->setAuthenticationSessionData/MediaWiki\Session\Session->setSecret/MediaWiki\Session\Session->set/MediaWiki\Session\SessionBackend->dirty [PluggableAuth] User is authorized. [session] SessionBackend "j9v7futippng3mddd8676rmad5otusg7082" save: dataDirty=1 metaDirty=0 forcePersist=0 [DBQuery] COMMIT MediaWiki::preOutputCommit: primary transaction round committed MediaWiki::preOutputCommit: pre-send deferred updates completed MediaWiki::preOutputCommit: LBFactory shutdown completed Unstubbing $wgLang on call of $wgLang::hasVariants from OutputPage->sendCacheControl User: loading options for user 8944 from override cache. OutputPage::sendCacheControl: private caching; ** [error] [81cc152dcced23608d4d6b83] /index.php?title=Special:PluggableAuthLogin ErrorException from line 80 of D:\home\site\wwwroot\includes\libs\objectcache\WinCacheBagOStuff.php: PHP Warning: wincache_ucache_add(): function called with a key which already exists

  1. 0 [internal function]: MWExceptionHandler::handleError(integer, string, string, integer, array)
  2. 1 D:\home\site\wwwroot\includes\libs\objectcache\WinCacheBagOStuff.php(80): wincache_ucache_add(string, string, integer)
  3. 2 D:\home\site\wwwroot\includes\libs\objectcache\WANObjectCache.php(1385): WinCacheBagOStuff->add(string, integer, integer)
  4. 3 D:\home\site\wwwroot\includes\libs\objectcache\WANObjectCache.php(1275): WANObjectCache->doGetWithSetCallback(string, integer, Closure, array)
  5. 4 D:\home\site\wwwroot\includes\libs\rdbms\loadbalancer\LoadBalancer.php(1759): WANObjectCache->getWithSetCallback(string, integer, Closure, array)
  6. 5 D:\home\site\wwwroot\includes\libs\rdbms\loadbalancer\LoadBalancer.php(1726): Wikimedia\Rdbms\LoadBalancer->masterRunningReadOnly(boolean, NULL)
  7. 6 D:\home\site\wwwroot\includes\ReadOnlyMode.php(45): Wikimedia\Rdbms\LoadBalancer->getReadOnlyReason()
  8. 7 D:\home\site\wwwroot\includes\ReadOnlyMode.php(29): ReadOnlyMode->getReason()
  9. 8 D:\home\site\wwwroot\includes\GlobalFunctions.php(1199): ReadOnlyMode->isReadOnly()
  10. 9 D:\home\site\wwwroot\includes\MediaWiki.php(962): wfReadOnly()
  11. 10 D:\home\site\wwwroot\includes\MediaWiki.php(912): MediaWiki->triggerJobs()
  12. 11 D:\home\site\wwwroot\includes\MediaWiki.php(731): MediaWiki->restInPeace(string, boolean)
  13. 12 D:\home\site\wwwroot\includes\MediaWiki.php(754): MediaWiki->{closure}()
  14. 13 D:\home\site\wwwroot\includes\MediaWiki.php(548): MediaWiki->doPostOutputShutdown(string)
  15. 14 D:\home\site\wwwroot\index.php(42): MediaWiki->run()
  16. 15 {main}


Cindy.cicalese (talkcontribs)

Is your remote IdP configured to accept connections from either domain? When you configure authsources.php in simplesamlphp, you may need to set up two SPs, one for each domain.

Ravikzm (talkcontribs)

The same application is working fine with MW 1.26 with simplesaml authentication and we are having only one IdP and "wiki.domain.com" internally redirect the user to"wiki.internal.domain.com" as we are using the $wgServer for protocol-relative URL. so after authentication the user will be landed in "wiki.internal.domain.com"

Cindy.cicalese (talkcontribs)

The internal MediaWiki authentication code was significantly rewritten in MediaWiki 1.27, and the PluggableAuth extension was similarly rewritten to accommodate the new authentication system. So, it is difficult to compare the behavior in 1.26 with the behavior in 1.32. In particular, the session code in MediaWiki was rewritten in MediaWiki 1.27, and this appears to be a session-related issue.

Cindy.cicalese (talkcontribs)