{"record":{"id":"968c98d9978f4576","repo":"openai/codex","slug":"oauth-provider-did-not-return-credentials","errorCode":null,"errorMessage":"OAuth provider did not return credentials","messagePattern":"OAuth provider did not return credentials","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/rmcp-client/src/perform_oauth_login.rs","lineNumber":657,"sourceCode":"                state: csrf_state,\n                issuer,\n            } = match callback {\n                CallbackResult::Success(callback) => callback,\n                CallbackResult::Error(error) => return Err(anyhow!(error)),\n            };\n\n            self.oauth_state\n                .handle_callback_with_issuer(&code, &csrf_state, issuer.as_deref())\n                .await\n                .context(\"failed to handle OAuth callback\")?;\n\n            let (client_id, credentials_opt) = self\n                .oauth_state\n                .get_credentials()\n                .await\n                .context(\"failed to retrieve OAuth credentials\")?;\n            let credentials = credentials_opt\n                .ok_or_else(|| anyhow!(\"OAuth provider did not return credentials\"))?;\n\n            let expires_at = compute_expires_at_millis(&credentials);\n            let stored = StoredOAuthTokens {\n                server_name: self.server_name.clone(),\n                url: self.server_url.clone(),\n                issuer: self.authorization_server_issuer.clone(),\n                client_id,\n                token_response: WrappedOAuthTokenResponse(credentials),\n                expires_at,\n            };\n            save_oauth_tokens(\n                &self.server_name,\n                &stored,\n                self.store_mode,\n                self.keyring_backend_kind,\n            )?;\n\n            Ok(())","sourceCodeStart":639,"sourceCodeEnd":675,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/rmcp-client/src/perform_oauth_login.rs#L639-L675","documentation":"Error \"OAuth provider did not return credentials\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/rmcp-client/src/perform_oauth_login.rs:657 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"339751715c64496cb86246bfb3935f40e309dd3d","analyzedAt":"2026-08-25T05:35:09.876Z","schemaVersion":2},"datasetVersion":"2026-08-25T06:17:31.827Z"}