Page MenuHomePhabricator

TypeError: MediaWiki\Extension\OAuth\Repository\ClaimStore::getClaims(): Argument #3 ($userIdentifier) must be of type ?string, int given, called in /srv/mediawiki/php-1.46.0-wmf.17/vendor/league/oauth2-server/src/Grant/Refresh
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
  • service.version: 1.46.0-wmf.17
  • timestamp: 2026-02-28T13:44:55.194Z
  • labels.phpversion: 8.3.30
  • trace.id: 71a769c6-70a4-49d0-83f0-f724025e73df
  • Find trace.id in Logstash
labels.normalized_message
[{reqId}] {exception_url}   TypeError: MediaWiki\Extension\OAuth\Repository\ClaimStore::getClaims(): Argument #3 ($userIdentifier) must be of type ?string, int given, called in /srv/mediawiki/php-1.46.0-wmf.17/vendor/league/oauth2-server/src/Grant/Refresh
FrameLocationCall
from/srv/mediawiki/php-1.46.0-wmf.17/extensions/OAuth/src/Repository/ClaimStore.php(31)
#0/srv/mediawiki/php-1.46.0-wmf.17/vendor/league/oauth2-server/src/Grant/RefreshTokenGrant.php(83)MediaWiki\Extension\OAuth\Repository\ClaimStore->getClaims(string, MediaWiki\Extension\OAuth\Entity\ClientEntity, int)
#1/srv/mediawiki/php-1.46.0-wmf.17/vendor/league/oauth2-server/src/AuthorizationServer.php(179)League\OAuth2\Server\Grant\RefreshTokenGrant->respondToAccessTokenRequest(GuzzleHttp\Psr7\ServerRequest, League\OAuth2\Server\ResponseTypes\BearerTokenResponse, DateInterval)
#2/srv/mediawiki/php-1.46.0-wmf.17/extensions/OAuth/src/AuthorizationProvider/AccessToken.php(22)League\OAuth2\Server\AuthorizationServer->respondToAccessTokenRequest(GuzzleHttp\Psr7\ServerRequest, MediaWiki\Extension\OAuth\Response)
#3/srv/mediawiki/php-1.46.0-wmf.17/extensions/OAuth/src/Rest/Handler/AccessToken.php(50)MediaWiki\Extension\OAuth\AuthorizationProvider\AccessToken->getAccessTokens(GuzzleHttp\Psr7\ServerRequest, MediaWiki\Extension\OAuth\Response)
#4/srv/mediawiki/php-1.46.0-wmf.17/includes/Rest/Module/Module.php(472)MediaWiki\Extension\OAuth\Rest\Handler\AccessToken->execute()
#5/srv/mediawiki/php-1.46.0-wmf.17/includes/Rest/Module/Module.php(301)MediaWiki\Rest\Module\Module->executeHandler(MediaWiki\Extension\OAuth\Rest\Handler\AccessToken)
#6/srv/mediawiki/php-1.46.0-wmf.17/includes/Rest/Router.php(484)MediaWiki\Rest\Module\Module->execute(string, MediaWiki\Rest\RequestFromGlobals)
#7/srv/mediawiki/php-1.46.0-wmf.17/includes/Rest/Router.php(443)MediaWiki\Rest\Router->doExecute(string, MediaWiki\Rest\RequestFromGlobals)
#8/srv/mediawiki/php-1.46.0-wmf.17/includes/Rest/EntryPoint.php(181)MediaWiki\Rest\Router->execute(MediaWiki\Rest\RequestFromGlobals)
#9/srv/mediawiki/php-1.46.0-wmf.17/includes/MediaWikiEntryPoint.php(180)MediaWiki\Rest\EntryPoint->execute()
#10/srv/mediawiki/php-1.46.0-wmf.17/rest.php(25)MediaWiki\MediaWikiEntryPoint->run()
#11/srv/mediawiki/w/rest.php(3)require(string)
#12{main}
Impact
Notes

Details

Request URL
https://zh.wikipedia.org/w/rest.php/oauth2/access_token

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Caused by RefreshTokenGrant::respondToAccessTokenRequest(). Upstream added strict_types=1 and a type conversion; our forked code skips the type conversion part. So we either need to fix the fork, or (preferably) finish T261462: Migrate OAuth extension back from wikimedia/oauth2-server fork to upstream.

Tgr assigned this task to matmarex.

Seems fixed.

Screenshot Capture - 2026-03-09 - 17-42-53.png (560×1 px, 50 KB)