Repository navigation
Override anisette client info to fix -23782 sign-in error (AltServer + AltStore) - #1853
Open
SanpuiRonak wants to merge 2 commits into
Open
SanpuiRonak wants to merge 2 commits into
SanpuiRonak wants to merge 2 commits into
Conversation
Apple rejects the client info that remote anisette servers currently report, failing sign-in with "A Mac with macOS version 10.13 or later is required to sign in with this Apple Account. (-23782)". Identify as akd on macOS instead, for anisette provisioning and GrandSlam authentication, using the same override as iloader v2.4.1 (nab138/iloader@d319ce7). The server-reported client info is used again once the override is removed. Fixes altstoreio#1852 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
AltStore signs in to Apple on-device when sideloading and refreshing apps, so it needs the same client info override as AltServer: - When fetching anisette data from a remote anisette server, use akd's client info for provisioning and the anisette data instead of the server's. - Always send akd's user agent with GrandSlam requests, including when the anisette data comes from AltServer. AltStore never set authenticationUserAgent, so it fell back to "akd/1.0 CFNetwork/808.1.4". Fixes altstoreio#1852 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #1852
Problem
Apple currently rejects the client info that remote anisette v3 servers report, and sign-in fails with:
This affects both apps:
RemoteAnisetteDataFetchersends the anisette server'sclient_info/user_agentwith Apple's provisioning and GrandSlam requests.FetchAnisetteDataOperationdoes the same when it fetches anisette data from a remote server. It also never setsALTAppleAPI.authenticationUserAgent, so it always falls back toakd/1.0 CFNetwork/808.1.4, even when the anisette data comes from AltServer.Fix
Identify as
akdon macOS, with the same values iloader v2.4.1 uses (nab138/iloader@d319ce7):X-MMe-Client-Info:<Mac15,7> <macOS;27.0;26A5378j> <com.apple.AuthKit/1 (com.apple.akd/1.0)>User-Agent:akd/1.0 CFNetwork/811.5.4AltServer:
RemoteAnisetteDataFetcher.fetchClientInfo(from:)returns the override. It's the single source of client info for anisette provisioning, the URL bag lookup and GrandSlam auth, which matches how isideload'sset_client_info_overrideapplies it (see also nab138/isideload@326e562).AltStore:
FetchAnisetteDataOperationuses the override for remote anisette provisioning and data, and setsALTAppleAPI.shared.authenticationUserAgentto the override's user agent for every anisette source.In both apps the override is an optional static (
clientInfoOverride), so the server-reported client info can come back by setting it tonilonce anisette servers report client info Apple accepts. Cached anisette identities are keyed on client info, so existing users re-provision automatically on their next sign-in.Testing
On macOS 27.0.1 with Xcode on the macOS 27 / iOS 27.1 SDKs, building from
classic:Notes
Related: Send the anisette server's user agent with GrandSlam requests - fixes HTTP 503 on sign-in with remote anisette #1851 sends the anisette server's user agent with GrandSlam requests. With this override, the user agent comes from the override instead.
Not in this PR, but needed to build
classicwith the current Xcode:AltSign-DynamicinpackageProductDependencies. 6063de6 moved both targets toAltSign-Staticbut left those entries behind, so Xcode splits AltSign into separate frameworks andldidfails to link against OpenSSL.Dependencies/libcurl/libcurl.ahas misaligned 64-bit members that the new linker rejects.-ld_classicis no longer supported, so I repacked the arm64 slice locally to build.Happy to open separate PRs for these.
🤖 Generated with Claude Code