Verify the passkey sign-in WebAuthn authentication response against the stored authentication challenge. When verificationId is provided, it verifies against the challenge generated by the identifier-based authentication endpoint. When omitted, it verifies against the preflight authentication options stored in the interaction. Upon successful verification, the verification record will be marked as verified and the user will be resolved by the credential if not provided earlier.
Responses
-
The passkey sign-in WebAuthn authentication has been successfully verified.
-
Invalid request.
-session.mfa.pending_info_not_found:The WebAuthn authentication challenge is missing in the current verification record.
-session.mfa.webauthn_verification_failed:The WebAuthn assertion response is invalid or cannot be verified. -
Verification session not found.
-
Identity conflict.
-session.identity_conflict:The user associated with the verified WebAuthn credential does not match the identified user in the current interaction.
curl \
--request POST 'https://[tenant_id].logto.app/api/experience/verification/sign-in-web-authn/authentication/verify' \
--header "Content-Type: application/json" \
--data '{"verificationId":"string","payload":{"type":"string","id":"string","rawId":"string","authenticatorAttachment":"cross-platform","clientExtensionResults":{"appid":true,"crepProps":{"rk":true},"hmacCreateSecret":true},"response":{"clientDataJSON":"string","authenticatorData":"string","signature":"string","userHandle":"string"}}}'
{
"verificationId": "string",
"payload": {
"type": "string",
"id": "string",
"rawId": "string",
"authenticatorAttachment": "cross-platform",
"clientExtensionResults": {
"appid": true,
"crepProps": {
"rk": true
},
"hmacCreateSecret": true
},
"response": {
"clientDataJSON": "string",
"authenticatorData": "string",
"signature": "string",
"userHandle": "string"
}
}
}
{
"verificationId": "string"
}