Authentication Services
Make it easy for users to log into apps and services.
Overview
Use the Authentication Services framework to improve the experience of users when they enter credentials to establish their identity.
Give users the ability to sign into your services with their Apple ID.
Enable users to look up their stored passwords from within the sign-in flow of an app.
Provide a passwordless registration and authentication workflow for apps and websites using iCloud Keychain or a physical security key.
Perform automatic security upgrades from weak to strong passwords, or upgrade to using Sign in with Apple.
Share data between an app and a web browser using technologies like OAuth to leverage existing web-based logins in the app.
Create a single sign-on (SSO) experience in an enterprise app.
Simple and straightforward sign-up and sign-in flows reduce the burden on the user to remember passwords, which may improve security.
Topics
Authorization requests
Sign In with Apple
Implementing User Authentication with Sign in with AppleSimplifying User Authentication in a tvOS AppSignInWithAppleButtonSign in with Apple EntitlementASAuthorizationAppleIDProviderASAuthorizationAppleIDCredential
Passwords
Passkeys
Public-Private Key AuthenticationPasskey use in web browsersPerforming fast account creation with passkeysConnecting to a service with passkeys
Web authentication sessions
Authenticating a User Through a Web ServiceSecuring Logins with iCloud Keychain Verification CodesASWebAuthenticationSessionWebAuthenticationSessionSupporting Single Sign-On in a Web Browser AppASWebAuthenticationSessionWebBrowserSessionManagerASWebAuthenticationSessionWebBrowserSupportCapabilities
AutoFill credentials
Providing one-time passcodes to AutoFillAutoFill Credential Provider EntitlementASCredentialProviderViewController
Credential migration
Single sign-on (SSO)
Apple TV authentication
customAuthorizationMethodsauthorizationController(_:didCompleteWithCustomMethod:)ASAuthorizationCustomMethod
Automatic security upgrades
Upgrading Account Security With an Account Authentication Modification ExtensionASAccountAuthenticationModificationControllerASAccountAuthenticationModificationViewControllerASAccountAuthenticationModificationExtensionContext
Updating credential managers
Reference
Classes
ASAuthorizationAccountCreationPlatformPublicKeyCredentialASAuthorizationAccountCreationPlatformPublicKeyCredentialRequestASAuthorizationAccountCreationProviderASAuthorizationProviderExtensionUserLoginConfigurationASCredentialDataManagerASGeneratePasswordsRequestASGeneratedPasswordASOneTimeCodeCredentialIdentityASSavePasswordRequest
Structures
ASAuthorizationProviderExtensionEncryptionAlgorithmASAuthorizationProviderExtensionSigningAlgorithmASAutoFillURLScopeASEmailIdentifierASImportableCredentialScopeASImportableEditableFieldASImportableFIDO2ExtensionsASImportableFIDO2HMACCredentialASImportableFIDO2LargeBlobASPhoneNumberIdentifierASPublicKeyCredentialClientDataCredentialDataManager