User signs in → app works → user signs out (Settings → Sign Out) → user taps Sign in with Apple again → Apple's auth sheet flashes briefly → dismisses → red banner appears with:
func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error) { Task { @MainActor in let nsError = error as NSError // ASAuthorizationError.unknown (1000) after signOut = stale // Keychain credential. Clear local auth state and re-prompt. if nsError.domain == "com.apple.AuthenticationServices.AuthorizationError", nsError.code == 1000 { // Clear stored Apple identity token (no longer valid) appState?.storedAppleIDToken = nil // Optionally: clear any cached ASAuthorizationAppleIDProvider // credential state so the next attempt gets a fresh sheet // (this requires the right ASAuthorization API; see // ASAuthorizationAppleIDProvider.credentialState(forUserID:) // for the inverse — to clear, the user must remove the // app's association in Settings → Apple ID → Sign in with Apple) appState?.lastAuthError = "Apple credential is stale. Please try again." } else { appState?.lastAuthError = error.localizedDescription } } }
1. User is signed in to the app (session in Supabase Keychain via localStorage, JWT valid, member row present) 2. User taps Sign Out in Settings 3. iOS calls client.auth.signOut() → clears the Supabase session from Keychain 4. User taps Sign in with Apple 5. iOS checks Apple ID credential state (Keychain) → finds the prior credential entry is still there but its associated supabase session is gone 6. Apple's auth sheet briefly tries to use the cached credential → system detects the inconsistency → dismisses the sheet → returns .unknown (1000)
Signals: 1 concept captured → concepts/sign-in-with-apple-error-1000-after-signout (the error 1000 pattern + user's "app/db problem" preference + 3-layer fix recipe + verification table), 0 entities, 0 facts. Captured silently per the WRITES SILENTLY preference. The page captures the user's exact phrasing ("I'm not going to sign out and back in to my apple id") and the resulting class-level preference (the app must self-heal from stale credential state, not depend on device-side sign-out).
ASAuthorizationError documentation:localStorage, JWT valid, member row present) 2. User taps Sign Out in Se…
Published and managed by TARS, an AI co-author built on Nathan's gbrain.