<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "AuthenticationServices",
  "identifier" : "/documentation/AuthenticationServices",
  "metadataVersion" : "0.1.0",
  "role" : "Framework",
  "symbol" : {
    "kind" : "Framework",
    "modules" : [
      "Authentication Services"
    ],
    "preciseIdentifier" : "AuthenticationServices"
  },
  "title" : "Authentication Services"
}
-->

# 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

[`ASAuthorizationController`](/documentation/AuthenticationServices/ASAuthorizationController)

A controller that manages authorization requests that a provider creates.

[`AuthorizationController`](/documentation/AuthenticationServices/AuthorizationController)

A SwiftUI environment value that views use to perform authorization requests.

[`ASAuthorizationResult`](/documentation/AuthenticationServices/ASAuthorizationResult)

Describes the outcome of a successful authorization request.

### Sign In with Apple

[Implementing User Authentication with Sign in with Apple](/documentation/AuthenticationServices/implementing-user-authentication-with-sign-in-with-apple)

Provide a way for users of your app to set up an account and start using your services.

[Simplifying User Authentication in a tvOS App](/documentation/AuthenticationServices/simplifying-user-authentication-in-a-tvos-app)

Build a fluid sign-in experience for your tvOS apps using AuthenticationServices.

[`SignInWithAppleButton`](/documentation/AuthenticationServices/SignInWithAppleButton)

A SwiftUI view that creates the Sign in with Apple button for display.

  <doc://com.apple.documentation/documentation/BundleResources/Entitlements/com.apple.developer.applesignin>

[`ASAuthorizationAppleIDProvider`](/documentation/AuthenticationServices/ASAuthorizationAppleIDProvider)

A mechanism for generating requests to authenticate users based on their Apple ID.

[`ASAuthorizationAppleIDCredential`](/documentation/AuthenticationServices/ASAuthorizationAppleIDCredential)

A credential that results from a successful Apple ID authentication.

### Passwords

  <doc://com.apple.documentation/documentation/Security/password-autofill>

[`ASAuthorizationPasswordProvider`](/documentation/AuthenticationServices/ASAuthorizationPasswordProvider)

A mechanism for generating requests to perform keychain credential sharing.

[`ASPasswordCredential`](/documentation/AuthenticationServices/ASPasswordCredential)

A password credential.

[Password use in web browsers](/documentation/AuthenticationServices/password-use-in-web-browsers)

Register and authenticate website users by using passwords.

### Passkeys

[Public-Private Key Authentication](/documentation/AuthenticationServices/public-private-key-authentication)

Register and authenticate users with passkeys and security keys, without using passwords.

[Passkey use in web browsers](/documentation/AuthenticationServices/passkey-use-in-web-browsers)

Register and authenticate website users by using passkeys.

[Performing fast account creation with passkeys](/documentation/AuthenticationServices/performing-fast-account-creation-with-passkeys)

Allow people to quickly create an account with passkeys and associated domains.

[Connecting to a service with passkeys](/documentation/AuthenticationServices/connecting-to-a-service-with-passkeys)

Allow users to sign in to a service without typing a password.

### Web authentication sessions

[Authenticating a User Through a Web Service](/documentation/AuthenticationServices/authenticating-a-user-through-a-web-service)

Use a web authentication session to authenticate a user in your app.

[Securing Logins with iCloud Keychain Verification Codes](/documentation/AuthenticationServices/securing-logins-with-icloud-keychain-verification-codes)

Use time-based codes generated on-device for a secure authentication experience.

[`ASWebAuthenticationSession`](/documentation/AuthenticationServices/ASWebAuthenticationSession)

A session that an app uses to authenticate a user through a web service.

[`WebAuthenticationSession`](/documentation/AuthenticationServices/WebAuthenticationSession)

A SwiftUI environment value that views use to authenticate someone using a web service.

[Supporting Single Sign-On in a Web Browser App](/documentation/AuthenticationServices/supporting-single-sign-on-in-a-web-browser-app)

Extend your web browser app to handle web authentication requests from other apps.

[`ASWebAuthenticationSessionWebBrowserSessionManager`](/documentation/AuthenticationServices/ASWebAuthenticationSessionWebBrowserSessionManager)

A session manager that mediates sharing data between an app and a web browser.

  <doc://com.apple.documentation/documentation/BundleResources/Information-Property-List/ASWebAuthenticationSessionWebBrowserSupportCapabilities>

### AutoFill credentials

[Providing one-time passcodes to AutoFill](/documentation/AuthenticationServices/providing-one-time-passcodes-to-autofill)

Help people efficiently perform multifactor authentication.

  <doc://com.apple.documentation/documentation/BundleResources/Entitlements/com.apple.developer.authentication-services.autofill-credential-provider>

[`ASCredentialProviderViewController`](/documentation/AuthenticationServices/ASCredentialProviderViewController)

A view controller that a credential manager app uses to extend AutoFill.

### Credential migration

[`ASCredentialExportManager`](/documentation/AuthenticationServices/ASCredentialExportManager)

A class to manage exporting credentials.

[`ASCredentialImportManager`](/documentation/AuthenticationServices/ASCredentialImportManager)

A class to manage importing credentials.

### Single sign-on (SSO)

[Enterprise single sign-on (SSO)](/documentation/AuthenticationServices/enterprise-single-sign-on-sso)

[Platform Single Sign-on (SSO)](/documentation/AuthenticationServices/platform-single-sign-on-sso)

Provide a Platform Single Sign-on (Platform SSO) extension to integrate your identity provider with macOS.

### Apple TV authentication

[`customAuthorizationMethods`](/documentation/AuthenticationServices/ASAuthorizationController/customAuthorizationMethods)

An array of custom authorization methods for the user to choose.

[`authorizationController(_:didCompleteWithCustomMethod:)`](/documentation/AuthenticationServices/ASAuthorizationControllerDelegate/authorizationController(_:didCompleteWithCustomMethod:))

Informs the delegate when authorization completes, and specifies the custom method the user selected.

[`ASAuthorizationCustomMethod`](/documentation/AuthenticationServices/ASAuthorizationCustomMethod)

The custom authorization method.

### Automatic security upgrades

[Upgrading Account Security With an Account Authentication Modification Extension](/documentation/AuthenticationServices/upgrading-account-security-with-an-account-authentication-modification-extension)

Automatically and transparently convert accounts to Sign in with Apple or to use strong passwords for improved security.

[`ASAccountAuthenticationModificationController`](/documentation/AuthenticationServices/ASAccountAuthenticationModificationController)

An object that performs a request to modify an account’s authentication properties.

[`ASAccountAuthenticationModificationViewController`](/documentation/AuthenticationServices/ASAccountAuthenticationModificationViewController)

A view controller that can upgrade user passwords to strong passwords, or convert accounts to use Sign in with Apple.

[`ASAccountAuthenticationModificationExtensionContext`](/documentation/AuthenticationServices/ASAccountAuthenticationModificationExtensionContext)

An object that you interact with to change an account’s password or to upgrade to Sign in with Apple.

### Updating credential managers

[`ASCredentialUpdater`](/documentation/AuthenticationServices/ASCredentialUpdater)

A class to pass credential update events to credential managers enabled on the system.

### Reference

[AuthenticationServices Enumerations](/documentation/AuthenticationServices/authenticationservices-enumerations)

[AuthenticationServices Data Types](/documentation/AuthenticationServices/authenticationservices-data-types)



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)