Create WebAuthn authentication verification

POST /api/experience/verification/web-authn/authentication

Create a new WebAuthn authentication verification record based on the user's existing WebAuthn credential. This verification record can be used to verify the user's WebAuthn credential.

Responses

  • 200 application/json

    WebAuthn authentication successfully initiated.

    Hide response attributes Show response attributes object
    • verificationId string Required

      The unique ID for the WebAuthn authentication record, required to verify the WebAuthn authentication challenge.

    • authenticationOptions object Required

      Options for the user to authenticate with their WebAuthn credential.

      Hide authenticationOptions attributes Show authenticationOptions attributes object
      • challenge string Required
      • timeout number
      • rpId string
      • allowCredentials array[object]
        Hide allowCredentials attributes Show allowCredentials attributes object
        • type string("public-key") Required
        • id string Required
        • transports array[string]

          Values are usb, nfc, ble, internal, cable, hybrid, or smart-card.

      • userVerification string

        Values are required, preferred, or discouraged.

      • extensions object
        Hide extensions attributes Show extensions attributes object
        • appid string
        • credProps boolean
        • hmacCreateSecret boolean
  • 400

    The user does not have a verified WebAuthn credential.

  • 404

    The current interaction is not yet identified. All MFA verification records must be associated with an identified user.

POST /api/experience/verification/web-authn/authentication
curl \
 --request POST 'https://[tenant_id].logto.app/api/experience/verification/web-authn/authentication'
Response examples (200)
{
  "verificationId": "string",
  "authenticationOptions": {
    "challenge": "string",
    "timeout": 42.0,
    "rpId": "string",
    "allowCredentials": [
      {
        "type": "string",
        "id": "string",
        "transports": [
          "usb"
        ]
      }
    ],
    "userVerification": "required",
    "extensions": {
      "appid": "string",
      "credProps": true,
      "hmacCreateSecret": true
    }
  }
}