Documentation Index
Fetch the complete documentation index at: https://mintlify.com/signing-sdk/face-auth-ios/llms.txt
Use this file to discover all available pages before exploring further.
TadSigningMode is passed to TadSigningViewController to select which operation to run. The two cases map to distinct WebAuthn flows: credential creation and credential assertion.
Enum declaration
Cases
.register
Triggers the face liveness check followed by WebAuthn passkey creation for the given bankId. On success, TadSigningResult.success is returned with a requestId that identifies this registration event. The jwt field in the result is an empty string for this mode.
Use .register the first time a user sets up biometric signing on a device. If the user later installs the app on a new device, they must register again.
.sign
Triggers WebAuthn passkey authentication followed by ES512 JWT signing. On success, TadSigningResult.success is returned with both a populated jwt and a requestId. The JWT can be forwarded to your backend to verify that the user authenticated successfully.
Use .sign for all subsequent authentication and transaction-signing operations after a successful .register.
.register must be called at least once for a given bankId before .sign can succeed. Attempting to sign without a registered passkey will return a .failure result.Key difference
.register | .sign | |
|---|---|---|
| WebAuthn operation | Credential creation | Credential assertion |
| Face liveness check | Yes | No |
jwt in result | Empty string "" | Populated ES512 JWT |
requestId in result | Populated | Populated |
| Requires prior registration | No | Yes |
Usage example
The following example from the demo app shows both modes wired to separate buttons:TadSigningViewController: