"Apple Sign In with Flutter and Supabase: Full Guide"

Apple sign in with Flutter and Supabase: Xcode setup, correct nonce handling with sign_in_with_apple, and the signInWithIdToken exchange.

Adding Apple Sign In with Flutter and Supabase trips up more developers than any other social login — not because the code is long (it's about 30 lines), but because the setup spans three dashboards and one cryptographic detail everyone gets wrong: the nonce. Send the hashed nonce to Apple and the raw nonce to Supabase; mix them up and you get a "nonces mismatch" error with no further explanation. This is the complete guide to apple sign in flutter supabase: the Apple Developer setup, the Supabase dashboard provider config, the Xcode capability that fixes error 1000, the sign_in_with_apple code with correct nonce handling, and the signInWithIdToken exchange. It also covers Android, which works differently. *Last updated: October 3, 2026* What you'll learn Apple Sign In with Flutter and Supabase: the complete working flow Setting up the Apple provider in the Supabase dashboard (Services ID, .p8 key) Wiring sign_in_with_apple with the native Apple sign-in sheet The nonce rule: hashed nonce to Apple, raw nonce to signInWithIdToken Fixing error 1000 (Xcode Sign in with Apple capability) Apple Sign In on Android via the OAuth redirect flow Step 1 — Apple Developer setup You need three things from the Apple Developer portal before touching code: An App ID with the Sign in with Apple capability enabled (Identifiers → your App ID → check "Sign in with Apple"). A Services ID (Identifiers → Services IDs → New) — required for Android/web and for Supabase's server-side token verification. Note the identifier, e.g. com.example.myapp.signin . A Sign in with Apple key (Keys → New → check "Sign in with Apple", then configure it with your primary App ID). Download the .p8 file once — Apple never shows it again — and note the Key ID and your Team ID. Step 2 — Enable the…

Explore