Sign in with Apple

Lets people sign in to your apps and websites with their Apple Account.

Introduced
2019
WWDC19
Kind
Service
Runs on
Get it from
iOS
13.0+
iPadOS
13.0+
Mac Catalyst
13.1+
macOS
10.15+
tvOS
13.0+
visionOS
1.0+
watchOS
6.0+

Overview

Sign in with Apple lets people create an account and sign in to apps and websites with their Apple Account, without extra sign-up forms or new passwords. Apps can ask for a name and email address, and people can choose to hide their real email behind a private relay address.

On Apple platforms you add it with the AuthenticationServices framework, using ASAuthorizationAppleIDProvider or the SwiftUI SignInWithAppleButton. Websites and other platforms use Sign in with Apple JS, and your server talks to Apple through the Sign in with Apple REST API. Server-to-server notifications report email-forwarding changes and account deletions.

Private email relay

People can hide their email, and Apple forwards mail from a private relay address.

Minimal data

Apps can request only a name and email, shared once on first sign-in.

Real user signal

realUserStatus indicates whether the user appears to be a real person.

Web and servers

Sign in with Apple JS and a REST API extend it to websites and other platforms.

SignInView.swift
import AuthenticationServices import SwiftUI SignInWithAppleButton(.signIn) { request in request.requestedScopes = [.fullName, .email] } onCompletion: { result in guard case .success(let authorization) = result, let credential = authorization.credential as? ASAuthorizationAppleIDCredential else { return } saveAccount(id: credential.user, name: credential.fullName, email: credential.email) } .signInWithAppleButtonStyle(.black)

History

How it grew up.

2019

Launch

Introduced at WWDC19 for apps on iOS 13 and macOS 10.15, and for websites.

2020

App Store requirement

Apps with third-party login must also offer it: new apps from April 30, 2020.

2020

Server notifications

WWDC20 adds a SwiftUI button, server-to-server notifications and team transfers.

2024

Guideline relaxed

Guideline 4.8 now accepts any equivalent login service with similar privacy features.