Skip to content

Instantly share code, notes, and snippets.

@JaveedIshaq
Created April 15, 2024 13:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JaveedIshaq/1a5d7f2ed577838aa2c41ce362e61879 to your computer and use it in GitHub Desktop.
Save JaveedIshaq/1a5d7f2ed577838aa2c41ce362e61879 to your computer and use it in GitHub Desktop.
Configure login Apple ID
Configure login Apple ID
Prerequisites
Before you can start integrating (or even testing) Sign in with Apple you need a paid membership to the Apple Developer Program. Sign in with Apple is one of the restricted services which is not available for free with just an Apple ID (source).
Setup
Register an App ID
If you have not one yet, create a new one at https://developer.apple.com/account/resources/identifiers/list/bundleId following these steps:
Click “Register an App ID”
In the wizard select “App IDs”, click “Continue”
Set the Description and Bundle ID, and select the Sign In with Apple capability
Usually the default setting of “Enable as a primary App ID” should suffice here. If you ship multiple apps that should all share the same Apple ID credentials for your users, please consult the Apple documentation on how to best set these up.
Click “Continue”, and then click “Register” to finish the creation of the App ID
In case you already have an existing App ID that you want to use with Sign in with Apple:
Open that App ID from the list
Check the “Sign in with Apple” capability
Click “Save”
If you have changed your app’s capabilities, you need to fetch the updated provisioning profiles (for example via Xcode) to use the new capabilities.
Create a Service ID
Next, go to https://developer.apple.com/account/resources/identifiers/list/serviceId and follow these steps:
Click “Register a Services ID”
Select “Services IDs”, click “Continue”
Set your “Description” and “Identifier”
The “Identifier” will later be referred to as your clientID
Click “Continue” and then “Register”
Now that the service is created, we have to enable it to use for Sign in with Apple:
Select the service from the list of services
Check the box next to “Sign in with Apple”, then click “Configure”
In the Domains and Subdomains add the domains of the websites on which you want to use Sign in with Apple, e.g. example.com. You have to enter at least one domain here, even if you don’t intend to use Sign in with Apple on any website.
In the Return URLs box add the full return URL you want to use, e.g. https://example.com/callbacks/sign_in_with_apple
Click “Next” and then “Done” to close the settings dialog
Click “Continue” and then “Save” to update the service
In order to communicate with Apple’s servers to verify the incoming authorization codes from your app clients, you need to create a key at https://developer.apple.com/account/resources/authkeys/list:
Click “Create a key”
Set the “Key Name” (E.g. “Sign in with Apple key”)
Check the box next to “Sign in with Apple”, then click “Configure” on the same row
Under “Primary App ID” select the App ID of the app you want to use (either the newly created one or an existing one)
Click “Save” to leave the detail view
Click “Continue” and then click “Register”
Now you’ll see a one-time-only screen where you must download the key by clicking the “Download” button
Also, note the “Key ID” which will be used later when configuring the server
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment