Passkey endpoints¶
Info
New in v5.3.0
The W3C Passkey Endpoints specification defines a well-known URL (/.well-known/passkey-endpoints) that allows passkey providers to discover where users can manage their passkeys on your application.
This enables password managers and platform authenticators to link directly to your passkey enrollment and management pages.
Configuration¶
Enable the passkey endpoints in your Symfony bundle configuration:
webauthn:
passkey_endpoints:
enabled: true
enroll: 'https://example.com/passkeys/register'
manage: 'https://example.com/passkeys/manage'
prf_usage_details: 'https://example.com/passkeys/prf-info'
All URL fields are optional. You can enable only the endpoints relevant to your application:
webauthn:
passkey_endpoints:
enabled: true
enroll: 'https://example.com/register'
manage: 'https://example.com/settings/passkeys'
Configuration options¶
| Option | Type | Required | Description |
|---|---|---|---|
enabled |
boolean | Yes | Enable the .well-known/passkey-endpoints route |
enroll |
string | No | URL to the passkey enrollment/creation interface |
manage |
string | No | URL to the passkey management interface |
prf_usage_details |
string | No | URL to informational page about PRF extension usage |
Response format¶
When enabled, a GET request to /.well-known/passkey-endpoints returns a JSON response:
{
"enroll": "https://example.com/passkeys/register",
"manage": "https://example.com/passkeys/manage",
"prfUsageDetails": "https://example.com/passkeys/prf-info"
}
Warning
According to the specification, all URLs must be absolute HTTPS URLs.
How it works¶
When the passkey endpoints are enabled, the bundle automatically:
- Registers a
PasskeyEndpointsControlleras a service - Adds the
/.well-known/passkey-endpointsroute to the router - Returns the configured URLs as a JSON response
No additional controller or route configuration is needed.
See also¶
- W3C Passkey Endpoints Specification - Official specification
- Configuration References - Full bundle configuration