āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā š shadcn/directory/clerk/clerk-docs/guides/configure/auth-strategies/social-connections/apple ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā
<TutorialHero beforeYouStart={[ { title: "A Clerk application is required.", link: "/docs/getting-started/quickstart/setup-clerk", icon: "clerk", }, { title: "An Apple Developer account is required.", link: "https://developer.apple.com/programs/enroll/", icon: "user-circle", } ]} />
Enabling OAuth via Sign in with Apple allows your users to sign in and sign up to your Clerk app with their Apple ID.
[!IMPORTANT] This guide explains how to configure Sign in with Apple for web based flows. To configure native Sign in with Apple on native applications (iOS), see the dedicated guide.
For development instances, Clerk uses preconfigured shared OAuth credentials and redirect URIs.
To configure your development instance, follow these steps:
For production instances, you must provide custom credentials.
You must generate and provide your own Apple Services ID, Apple Private Key, Apple Team ID, and Apple Key ID using your Apple Developer account.
To make the setup process easier, it's recommended to keep two browser tabs open: one for your Clerk Dashboard and one for your Apple Developer dashboard.
<Steps> ### Enable Apple as a social connectionTo get your Apple Team ID, create a new App ID in the Apple Developer portal by following these steps:
To get your Apple Services ID, create a new Services ID in the Apple Developer portal.
https://myapp.com, then your Frontend API URL is https://clerk.myapp.com, and you would add clerk.myapp.com to Domains and Subdomains.To get your Apple Private Key and Key ID, create a new Key in the Apple Developer portal.
[!NOTE] In some regions (such as China and India), Apple IDs may not include an email address at all, and instead are tied only to a phone number. If your instance requires all users to have an email, Sign in with Apple may fail for these users. Depending on your user base, you may want to navigate to the User & authentication page in the Clerk Dashboard and disable the Sign-up with email setting.
If you'd like to know more about this, see the Apple documentation.
Apple provides a privacy feature called Hide My Email, allowing users to sign in to your app with Apple without disclosing their actual email addresses. Instead, your instance receives an app-specific email address that forwards any emails to the user real's address.
To be able to send emails properly to users with hidden addresses, you must configure an additional setting in the Apple Developer portal.
bounces+00000000@clkmail.myapp.com.After this step, the email address should appear in the list and display a green check icon, indicating it has been verified. If it's not marked as verified yet, DNS propagation may still be in progress. Wait for the propagation to complete before attempting to select Reverify SPF.
For more info about Apple's Private Relay service, refer to the following documentation:
By now, you should have the following values saved from the Apple Developer portal:
Connect your Apple app to your Clerk app by adding these values to the Clerk Dashboard.
-----BEGIN PRIVATE KEY----- and -----END PRIVATE KEY----- lines.ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā