Xeonr Developer Docs
API SpecificationPRIVATEAuthentication

Complete Passkey Login

POST
/xeonr.auth.private.v1.AuthService/PasskeyLoginFinish

Verifies a WebAuthn assertion, resolves the org-account user (asserting it belongs to the request org), and mints the portal token. A passkey satisfies MFA, so no step-up is required.

Authentication: None required (session id required)

Authorization

BearerAuth
AuthorizationBearer <token>

JWT access token for internal API access. Requires 'private' scope for most endpoints, 'admin' scope for administrative operations.

In: header

Header Parameters

Connect-Protocol-Version*number

Define the version of the Connect protocol

Value in1
Connect-Timeout-Ms?number

Define the timeout, in ms

Request Body

application/json

credentialJson?string

The navigator.credentials.get() assertion, serialized as JSON.

Length1 <= length
sessionId?string

The session id from PasskeyLoginBeginResponse.

Length1 <= length <= 255
[key: string]?never

Response Body

application/json

application/json

curl -X POST "https://auth.xeonr.io/xeonr.auth.private.v1.AuthService/PasskeyLoginFinish" \  -H "Connect-Protocol-Version: 1" \  -H "Content-Type: application/json" \  -d '{}'
{
  "token": "string",
  "expiresAt": "2023-01-15T01:30:15.01Z",
  "sessionToken": "string"
}
{
  "code": "not_found",
  "message": "string",
  "details": [
    {
      "type": "string",
      "value": "string",
      "debug": {}
    }
  ]
}