/api/auth/webauthn

Use a WebAuthn credential to login to an account.

POST
Request

Body

Content-Type: application/json

PropertyTypeDescription
authAuthenticationResponseJSONRequired. The WebAuthn authentication response payload.

Example

The value of auth should be the result of calling navigator.credentials.get() in the browser.

Response

Status: 200 OK

Content-Type: application/json

PropertyTypeDescription
userUserThe authenticated user object.

Example

{
"user": {
"id": "cmb6042f500029kenox2u8npu",
"username": "admin",
"createdAt": "2025-05-27T04:13:22.625Z",
"updatedAt": "2025-05-28T02:20:05.997Z",
"role": "SUPERADMIN",
"view": {},
"oauthProviders": [],
"totpSecret": null,
"passkeys": [],
"quota": null,
"sessions": [],
"token": "MTc0ODMxOTIwMjYyNQ==.ejV1UVFRODBJNHltU0VGZWVaTXNzRmc2UFZKUTlIMmg="
}
}

Error Responses

  • 400 Bad Request

    Passkeys are not enabled, missing or malformed auth payload, passkey is not recognized.

Further Reading

Passkeys are a "passwordless" authentication method that uses public key cryptography to securely authenticate users. They are designed to replace traditional passwords with a more secure and user-friendly alternative.

The way it works in Zipline is that users can register a passkey from the user settings page, then use that passkey on their next login attempt skipping the need for a password altogether.



Last updated: 5/28/2025
Edit this page on GitHub