Skip to content

Authenticate WebAuthn

Request

Authenticate a user using their WebAuthn credentials. Retrieves tokens based on a the encoded result of the webauthn authentication.

Security
ClientAccessToken
Bodyapplication/jsonrequired
resourcestring

Resource URI the authentication request is attempting to access, which is reflected in the audience (aud claim) of the access token. This must be configured as resource for the application.

claimsobject

Used to request additional claims in the ID token, such as roles, permissions, and other user profile data. The structure is per the OIDC Standard. For supported claims and how to request custom claims, see the ID Token Reference.

Example:
{ "id_token": { "roles": null } }
org_idstring

Organization ID, used for member login in B2B scenarios

client_attributesobject

Client attributes

device_idstring, <= 80 characters

Identifier of the device from which the authentication request originates

session_idstring

Used to associate the authentication with an existing session (such as for MFA). If unspecified, a new session is created and the session ID is returned.

webauthn_encoded_resultstringrequired

WebAuthn assertion data (base64 encoded)

curl -i -X POST \
  https://api.sbx.transmitsecurity.io/cis/v1/auth/webauthn/authenticate \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "resource": "string",
    "claims": {
      "id_token": {
        "roles": null
      }
    },
    "org_id": "string",
    "client_attributes": {
      "user_agent": "string",
      "ip_address": "string"
    },
    "device_id": "string",
    "session_id": "string",
    "webauthn_encoded_result": "string"
  }'

Responses

Returns user tokens

Bodyapplication/json
access_tokenstringrequired

User access token for accessing endpoints on behalf of the authenticated user.

id_tokenstring

ID token that identifies the user.

refresh_tokenstring

Refresh token used to refresh an expired access token.

token_typestringrequired

Bearer.

expires_innumberrequired

Expiration time of the access token in seconds.

Default:3600
session_idstringrequired

ID of the session in which the authentication occurs.

signing_artifactsApiPasskeySigningArtifactsDto (object) or ApiCryptoKeySigningArtifactsDto (object)
One of:

Cryptographic data required to independently verify a transaction approval outside Mosaic. Returned when approval_data is provided for a supported transaction-signing flow; fields vary by authenticator.

Response
{ "access_token": "string", "id_token": "string", "refresh_token": "string", "token_type": "string", "expires_in": 3600, "session_id": "string", "signing_artifacts": { "approval_data": {}, "public_key": "string", "signature": "string", "credential_id": "string", "webauthn_session_id": "string", "authenticator_data": "string", "client_data_json": "string", "raw_challenge": "string" } }