Skip to content

🍎 Apple Authentication

Set up Apple Sign-In for your ExpoBase app.

Prerequisites

  • Apple Developer Account ($99/year)
  • App registered in App Store Connect

Step 1: Apple Developer Setup

  1. Go to Apple Developer:
  2. Enable Apple Sign-In:
    • Edit your App ID
    • Check Sign In with Apple
    • Save configuration

Step 2: Configure Supabase

  1. Go to Supabase Dashboard:
  2. Enable Apple Provider:
    • Go to AuthenticationProviders
    • Find Apple and click Enable
    • Add your Services ID: com.yourcompany.yourapp (same as bundle ID)
    • Generate Client Secret: Go to https://applekeygen.expo.app/ to generate your JWT token
    • Fill in the required fields and copy the generated JWT
    • Paste the JWT as your Client Secret in Supabase
    • Important: Also add this JWT to your supabase/functions/.env file as:
    SUPABASE_AUTH_EXTERNAL_APPLE_SECRET=your_jwt_token_here
    
    • Click Save

⚠️ Important: Apple JWT tokens expire every 6 months. You'll need to return to applekeygen.expo.app and generate a new token, then update it in your Supabase settings. Set a calendar reminder!

Step 3: ExpoBase Configuration

Apple Sign-In is already implemented! Just ensure your app.json has:

export default {
  expo: {
    ios: {
      bundleIdentifier: "com.yourcompany.yourapp",
      useAppleSignIn: true,
    },
    plugins: [
      "expo-apple-authentication",
      // ... other plugins
    ],
  },
};

Ready to Use

Apple authentication is already implemented! Users can:

  • ✅ Sign in with Apple ID (iOS only)
  • ✅ Use Face ID/Touch ID for quick sign-in
  • ✅ Privacy-protected email options
  • ✅ Auto-create account on first login

Check the implementation in:

  • AuthContext - Apple Sign-In logic
  • app/(auth) folder - Apple login buttons

🎯 Next Step

Continue to 🔑 Google Auth to configure Google authentication.


Step 9/11 Complete

Apple authentication configured!