<!--
{
  "documentType" : "article",
  "framework" : "AuthenticationServices",
  "identifier" : "/documentation/AuthenticationServices/passkey-use-in-web-browsers",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Passkey use in web browsers"
}
-->

# Passkey use in web browsers

Register and authenticate website users by using passkeys.

## Discussion

If your browser app uses <doc://com.apple.documentation/documentation/WebKit/WKWebView> to display web content, <doc://com.apple.documentation/documentation/WebKit> automatically handles `WebAuthentication` challenges in web pages and requests credentials from the person using the browser. If your browser app uses an alternative web browser engine—for example, an alternate browser engine for iPhone that you write using <doc://com.apple.documentation/documentation/BrowserEngineKit>—when the website makes a `WebAuthentication` challenge, use [`ASAuthorizationController`](/documentation/AuthenticationServices/ASAuthorizationController) to discover and use credentials to respond to the challenge.  [`ASAuthorizationController`](/documentation/AuthenticationServices/ASAuthorizationController) works with passkeys stored on the keychain or managed by third-party credential managers.

The person using your browser chooses whether to let your app access their passkeys. Use [`ASAuthorizationWebBrowserPublicKeyCredentialManager`](/documentation/AuthenticationServices/ASAuthorizationWebBrowserPublicKeyCredentialManager) to determine whether you browser app has access, and to request access if it has no access.

## Topics

### Website authorization

[Authenticating people by using passkeys in browser apps](/documentation/AuthenticationServices/authenticating-people-by-using-passkeys-in-browser-apps)

Provide a secure and convenient alternative to passwords.

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

A class that you use to request access to a person’s passkeys in a web browser, and that reports on the access status.

### Website authentication requests

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

An authorization request for which a web browser can retrieve credentials.

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

An interface you use to respond to authentication challenges in a web browser.

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

An interface you use to respond to passkey-creation challenges in a web browser.

### Website credential providers

[`ASAuthorizationWebBrowserPlatformPublicKeyCredentialProvider`](/documentation/AuthenticationServices/ASAuthorizationWebBrowserPlatformPublicKeyCredentialProvider-19bq)

A mechanism you use to provide public key credential requests to a browser app.

[`ASAuthorizationWebBrowserPlatformPublicKeyCredentialProvider`](/documentation/AuthenticationServices/ASAuthorizationWebBrowserPlatformPublicKeyCredentialProvider-1c8cl)

A protocol for creating passkey requests.



---

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)