60380: Client data invalid or not provided
VERIFY
ERROR
This error occurs when a Verify Passkeys request does not include a valid response.clientDataJSON value. Verify requires clientDataJSON when you finish passkey registration with VerifyFactor and when you approve a passkey authentication challenge with ApproveChallenge.
- The request body did not include
response.clientDataJSON. Verify requires that field for both passkey registration and passkey challenge approval. - The request did not send the full browser-generated
credentialobject as JSON. The Passkeys quickstart instructs you to pass the copied browser credential payload toVerifyFactorandApproveChallenge. - The request used the wrong Passkeys payload for the step you are calling.
VerifyFactorexpects registration data that includesresponse.attestationObject, whileApproveChallengeexpects authentication data that includesresponse.authenticatorDataandresponse.signaturetogether withresponse.clientDataJSON.
- For passkey registration, send the generated browser
credentialtoVerifyFactoras JSON and includeid,rawId,authenticatorAttachment,type,response.clientDataJSON, andresponse.attestationObject. - For passkey authentication, create a challenge, fetch the passkey in the browser, then send that browser response to
ApproveChallengewithid,rawId,authenticatorAttachment,response.authenticatorData,response.clientDataJSON, andresponse.signature. - Keep the property name exactly as
clientDataJSONand send the request body asapplication/json. Verify defines both Passkeys endpoints as JSON request bodies and names this field explicitly. - Compare your request payload with the Verify Passkeys quickstart examples. A successful registration returns a factor with
status: "verified", and a successful authentication returns a challenge withstatus: "approved".