|Type||Single sign-on provider|
|Launch date||September 19, 2019|
Sign in with Apple is a single sign-on provider operated by Apple Inc., introduced on June 3, 2019 at Apple's 2019 Worldwide Developers Conference (WWDC) in iOS 13.
It is designed to allow users to create accounts for third-party services with a minimal amount of personal information (as opposed to login services offered by social networking service platforms such as Facebook, where such features may also grant the third-party service access to personal information tied to their account), only requiring the user to provide a name and email address.
Users can opt for the email address associated with their Apple ID or choose the "Hide My Email" option to generate a disposable email address specific to the service; these addresses end in the
privaterelay.appleid.com domain. Messages sent via a disposable (or relay) email address are automatically forwarded to a verified email address of the user's choice, and this function can also be disabled if needed. The service is compatible with the OAuth 2.0 and OpenID Connect standards, and integrates with Face ID and Touch ID on iOS, iPadOS, and macOS.
On September 12, 2019, Apple updated the App Store Review Guidelines to stipulate that developers whose apps use at least one third-party login service must implement Sign in with Apple, with exceptions for apps that function exclusively as a client for a specific service (such as the Twitter app), that use a login service backed by a citizen identification system, or that are developed to work exclusively with a company's first-party login service. Apple's human interface guidelines require Sign in with Apple buttons to be no less prominent than other sign-in services, and to appear "above the fold" without the user having to scroll.
In October 2019, Apple made the service compliant with the OpenID Connect authentication standard. It had previously not been fully compliant, having for example excluded "Proof Key for Code Exchange" (PKCE)—whose absence exposed users to possible replay attacks and code injection vulnerabilities.
((cite web)): CS1 maint: url-status (link)