Skip to content

Concept: Handle pushed 2FA codes when Apple omits "au" - #60

Draft
mattaltgear wants to merge 2 commits into
notarizedfrom
matt/800concept
Draft

mattaltgear wants to merge 2 commits into
notarizedfrom
matt/800concept

Conversation

@mattaltgear

@mattaltgear mattaltgear commented Oct 14, 2026 •

Copy link
Copy Markdown
Collaborator

This is a concept PR. It's meant to help with altstoreio/AltStore#1828 (error -80045), not to be merged as-is.

Context

Since around October 12, Apple's GrandSlam servers have been rejecting sign-ins from anisette-v3-server-based tools with -80045 (Dadoum/anisette-v3-server#61). The workaround is to send Android client info (see the companion AltStore PR). With that in place, Apple can also answer the complete step with status hsc 409 and no au field, meaning it has already pushed a 2FA code to trusted devices.

AltSign only looks at au, so it falls through to the no-2FA path and fails.

Changes

  • If au is missing and Status["hsc"] is 409, treat it like trustedDeviceSecondaryAuth, but prompt for the code without requesting another one.
  • If Apple asks for a pushed code again after the user has entered one, fail with requiresTwoFactorAuthentication instead of prompting in a loop.
  • Merges the latest notarized branch and adapts the change to the sendGSARequest refactor.

Based on SideStore/SideSign#5.

Testing

Built into AltStore v2.3 with the companion AltStore change, installed on an iPhone Air, and signed in with a remote anisette server. Sign-in succeeded. The merged version (after notarized) has been built but not re-tested on device.

mattaltgear and others added 2 commits October 14, 2026 14:26
Apple's GSA endpoint may now respond with status hsc 409 and no "au" field, meaning it already pushed a code to trusted devices. Treat this like trustedDeviceSecondaryAuth, but prompt for the code without requesting another, and fail instead of re-prompting if Apple asks again.

Based on SideSign: SideStore/SideSign#5

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Resolves conflict with sendGSARequest refactor in requestTrustedDeviceTwoFactorCode.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant