Apple Authentication
To use Apple sign in, you need a client ID and client secret. You can get them from the Apple Developer Portal. You will need an active Apple Developer account to access the developer portal and generate these credentials. Follow these steps to set up your App ID, Service ID, and generate the key needed for your client secret:
1. Apple Developer Setup
Log in to Apple Developer
Go to the Apple Developer Portal and sign in with your Apple Developer credentials.
Navigate to Certificates, Identifiers & Profiles
Navigate to Certificates, Identifiers & Profiles → Identifiers Find and select your App ID
from the list - If you haven't created one yet, create a new App ID using your app’s
reverse-domain style identifier (e.g. com.expolaunch.app
)
Create an App ID:
- Go to the Identifiers tab.
- Click the + icon next to Identifiers.
- Select App IDs, then click Continue.
- Select App as the type, then click Continue.
Description: Enter a name for your app (e.g., "My Awesome App"). This name may be displayed to users when they sign in.
Bundle ID: Set a bundle ID. The recommended format is a reverse domain name (e.g., com.yourcompany.yourapp). Using a suffix like .ai (for app identifier) can help with organization but is not required (e.g., com.yourcompany.yourapp.ai).



Enable Sign In with Apple
- Scroll down to Capabilities. Select the checkbox for Sign In with Apple.
- Click Continue, then Register.

Create Service ID:


Find the Service ID you just created in the Identifiers list and click on it. Check the Sign
In with Apple capability, then click Configure.
2. Supabase Setup
Enable Apple Provider in Supabase
- Go to your Supabase Dashboard
- Navigate to Authentication → Providers
- Enable the Apple provider
- Set the Bundle ID to match your App ID (e.g.
com.expolaunch.app
)


Update Redirect URLs
- Add your app’s redirect URIs under Authorized Redirect URIs
- Example:
https://your-app.com/auth/callback
Test Your Setup
Run Your App on a Simulator or Device:
- If you're using a simulator, make sure it supports iOS 13 or later (required for Sign In with Apple).
- If you have a device, you can test the authentication flow more accurately.