Better Auth in Rust
OpenAPI Reference

Passkey

Passkey plugin endpoints for WebAuthn/FIDO2 passwordless authentication.

/passkey/generate-register-options

GET
/passkey/generate-register-options

Authorization

bearerAuth
AuthorizationBearer <token>

Bearer token authentication

In: header

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:3001/api/auth/passkey/generate-register-options"
{
  "challenge": "string",
  "rp": {
    "name": "string",
    "id": "string"
  },
  "user": {
    "id": "string",
    "name": "string",
    "displayName": "string"
  },
  "pubKeyCredParams": [
    {
      "type": "string",
      "alg": 0
    }
  ],
  "timeout": 0,
  "excludeCredentials": [
    {
      "id": "string",
      "type": "string",
      "transports": [
        "string"
      ]
    }
  ],
  "authenticatorSelection": {
    "authenticatorAttachment": "string",
    "requireResidentKey": true,
    "userVerification": "string"
  },
  "attestation": "string",
  "extensions": {}
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}

/passkey/generate-authenticate-options

POST
/passkey/generate-authenticate-options

Authorization

bearerAuth
AuthorizationBearer <token>

Bearer token authentication

In: header

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "http://localhost:3001/api/auth/passkey/generate-authenticate-options"
{
  "challenge": "string",
  "rp": {
    "name": "string",
    "id": "string"
  },
  "user": {
    "id": "string",
    "name": "string",
    "displayName": "string"
  },
  "timeout": 0,
  "allowCredentials": [
    {
      "id": "string",
      "type": "string",
      "transports": [
        "string"
      ]
    }
  ],
  "userVerification": "string",
  "authenticatorSelection": {
    "authenticatorAttachment": "string",
    "requireResidentKey": true,
    "userVerification": "string"
  },
  "extensions": {}
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}

/passkey/verify-registration

POST
/passkey/verify-registration

Authorization

bearerAuth
AuthorizationBearer <token>

Bearer token authentication

In: header

Request Body

application/json

response*string

The response from the authenticator

name?string

Name of the passkey

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "http://localhost:3001/api/auth/passkey/verify-registration" \  -H "Content-Type: application/json" \  -d '{    "response": "string"  }'
{
  "id": "string",
  "name": "string",
  "publicKey": "string",
  "userId": "string",
  "credentialID": "string",
  "counter": 0,
  "deviceType": "string",
  "backedUp": true,
  "transports": "string",
  "createdAt": "2019-08-24T14:15:22Z"
}
Empty
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}

/passkey/verify-authentication

POST
/passkey/verify-authentication

Authorization

bearerAuth
AuthorizationBearer <token>

Bearer token authentication

In: header

Request Body

application/json

response*string

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "http://localhost:3001/api/auth/passkey/verify-authentication" \  -H "Content-Type: application/json" \  -d '{    "response": "string"  }'
{
  "session": {
    "id": "string",
    "expiresAt": "2019-08-24T14:15:22Z",
    "token": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z",
    "ipAddress": "string",
    "userAgent": "string",
    "userId": "string",
    "impersonatedBy": "string",
    "activeOrganizationId": "string"
  },
  "user": {
    "id": "string",
    "name": "string",
    "email": "string",
    "emailVerified": true,
    "image": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z",
    "username": "string",
    "displayUsername": "string",
    "twoFactorEnabled": true,
    "role": "string",
    "banned": true,
    "banReason": "string",
    "banExpires": "2019-08-24T14:15:22Z"
  }
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}

/passkey/list-user-passkeys

GET
/passkey/list-user-passkeys

Authorization

bearerAuth
AuthorizationBearer <token>

Bearer token authentication

In: header

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:3001/api/auth/passkey/list-user-passkeys"
[
  {
    "id": "string",
    "name": "string",
    "publicKey": "string",
    "userId": "string",
    "credentialID": "string",
    "counter": 0,
    "deviceType": "string",
    "backedUp": true,
    "transports": "string",
    "createdAt": "2019-08-24T14:15:22Z"
  }
]
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}

/passkey/delete-passkey

POST
/passkey/delete-passkey

Authorization

bearerAuth
AuthorizationBearer <token>

Bearer token authentication

In: header

Request Body

application/json

id*string

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "http://localhost:3001/api/auth/passkey/delete-passkey" \  -H "Content-Type: application/json" \  -d '{    "id": "string"  }'
{
  "status": true
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}

/passkey/update-passkey

POST
/passkey/update-passkey

Authorization

bearerAuth
AuthorizationBearer <token>

Bearer token authentication

In: header

Request Body

application/json

id*string
name*string

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "http://localhost:3001/api/auth/passkey/update-passkey" \  -H "Content-Type: application/json" \  -d '{    "id": "string",    "name": "string"  }'
{
  "passkey": {
    "id": "string",
    "name": "string",
    "publicKey": "string",
    "userId": "string",
    "credentialID": "string",
    "counter": 0,
    "deviceType": "string",
    "backedUp": true,
    "transports": "string",
    "createdAt": "2019-08-24T14:15:22Z"
  }
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}
{
  "message": "string"
}