Skip to Content
AuthenticationApple OAuth

Apple sign-in

To enable Apple sign-in on iOS, configure your App ID in Apple Developer and the Apple provider in Supabase.

Prerequisites

Enable the Apple capability

Enable Sign in with Apple on the App ID whose bundle identifier matches config.jsgeneral.iosBundleIdentifier. The boilerplate already includes expo-apple-authentication and sets ios.usesAppleSignIn in app.config.js.

Enabling the Sign in with Apple capability on an App ID in the Apple Developer portal

Configure Supabase

Enable the Apple provider and add your bundle identifier to its authorized client IDs. Supabase’s Apple sign-in guide  covers the provider settings.

Enabling the Apple provider in Supabase's Auth providers settings

The native flow exchanges the device’s identity token for a Supabase session. It does not need the Services ID or client secret used for browser-based Apple OAuth.

Rebuild

Create a new development build after changing the App ID or its capabilities.

Verify

On an iOS device signed into an Apple Account, tap the Apple button on the sign-in screen. The app should sign you in, and the user should appear in Supabase Authentication → Users with an Apple identity.

User names

Apple supplies the user’s name only when they first authorize your app. useSignInWithApple saves given_name, family_name and full_name to Supabase user metadata when both name parts are present. Subsequent sign-ins leave those values unchanged.

App Store requirements

If you offer Google or another third-party login for the user’s primary account, review Apple’s login-services guideline . It requires an equivalent privacy-preserving login option, with listed exceptions. The included Apple sign-in is intended for this purpose.

Last updated on