Signing Transactions

Web SDK supports sending a payload, called transaction data, that will be signed by the server when either authentication or enrollment succeed.

The signed transaction is a JWT and can be verified server-side to ensure that the operation was really completed on our servers, and that the signed transaction data matches with what is expected.

Headless Integration

Please base the integration code from the following guides:

The transaction data can be set in the openKeylessWebSocketConnection options:

await openKeylessWebSocketConnection(sym, {
  ...,
  transaction: {
    data: TRANSACTION_DATA
  }
})

The transaction JWT can be retrieved inside the finished event:

addKeylessEventListener(sym, 'finished', (event) => {
  // will log the transaction JWT
  console.log(event.data.transactionJwt)
})

Web Component Integration

Please base the integration code from the following guides:

The transaction data can be set through the transaction-data attribute:

The transaction JWT can be retrieved inside the finished event:

Verifying the Transaction JWT

There are two options to verify the transaction JWT:

Please note - both operations should be executed backend-to-backend for security purposes, ensuring no keys are leaked.

Last updated

Was this helpful?