🍎 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
-
Go to Apple Developer:
- Visit Apple Developer
- Select your app identifier
-
Enable Apple Sign-In:
- Edit your App ID
- Check Sign In with Apple
- Save configuration
Step 2: Configure Supabase
-
Go to Supabase Dashboard:
- Go to your Supabase Dashboard
- Select your project
-
Enable Apple Provider:
- Go to Authentication → Providers
- 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 logicapp/(auth)
folder - Apple login buttons
🎯 Next Step
Continue to 🔑 Google Auth to configure Google authentication.
Step 9/11 Complete ✅
Apple authentication configured!