Files
AnyPS5/docs/dev/debt/libSceNpAuth.md
T
Nithishvelan M 6c2ff1df85 feat(libSceNpAuth): export sceNpAuthGetAuthorizationCode and sceNpAuthGetIdToken
Export sceNpAuthGetAuthorizationCode (NID KxGkOrQJTqY) and
sceNpAuthGetIdToken (NID uaB-LoJqHis) in libSceNpAuth, delegating to the
corresponding V3 implementations.

Add test coverage in GuestNpAuth for both calls covering invalid
arguments, signed-out responses on sync requests, deferred async handling,
and unknown request IDs, as well as sceNpAuthGetAuthorizedAppCode. Update
technical debt documentation.
2026-10-19 19:06:14 +05:30

1.9 KiB

libSceNpAuth technical debt

Unknown function info

  • sceNpAuthGetAuthorizedAppCode (libSceNpAuth) - declared without parameters and returns SCE_NP_ERROR_SIGNED_OUT without reading them, as there is no PSN sign-in; the request parameter and code output are not known. Minecraft (PPSA17221) imports it, fails to load without it, and after its sign-in dialog treats the signed-out code as offline play.
  • sceNpAuthAbortRequest, sceNpAuthGetAuthorizationCode, sceNpAuthGetAuthorizationCodeV3, sceNpAuthGetIdToken, sceNpAuthGetIdTokenV3, sceNpAuthPollAsync, sceNpAuthWaitAsync (libSceNpAuth) - request tracking, ORBIS_NP_AUTH_ERROR_REQUEST_NOT_FOUND (0x80550306) on unknown IDs, ORBIS_NP_AUTH_ERROR_INVALID_ID (0x80550307) on non-async or unprocessed requests in Poll/Wait, ORBIS_NP_AUTH_ERROR_INVALID_ARGUMENT (0x80550301) on null arguments, and ORBIS_NP_AUTH_ERROR_ABORTED (0x80550304) follow shadPS4 (PS4); async requests defer SCE_NP_ERROR_SIGNED_OUT to Poll/Wait while sync requests fail immediately; PSN is not contacted. Parameter size validation and PS5 behavior are unverified
  • sceNpAuthSetTimeout (libSceNpAuth) - imported by PPSA01317, which fails to load without it. The signature (reqId, resolveRetry, resolveTimeout, connTimeout, sendTimeout, recvTimeout) follows shadPS4 (PS4), which only stubs it. An unknown request ID returns ORBIS_NP_AUTH_ERROR_REQUEST_NOT_FOUND like the other request calls; otherwise it returns OK and keeps nothing, as no request reaches the network the timeouts would bound. Argument checks of the console are unverified