Create User Action Signature
Last updated
Last updated
POST /auth/action
Completes the user action signing process and provides a signing token that can be used to verify the user intended to perform the action.
The type of credentials used to sign the action is determined by the kind
field in the nested objects (firstFactor
and secondFactor
). Supported credential kinds are:
Fido2
: User action is signed by a user's signing device using WebAuthn
.
Key
: User action is signed by a user's, or token's, private key.
PasswordProtectedKey
: Login challenge is signed by the decrypted user's private key that was sent during Create User Action Signature Challenge step.
Request headers required. See Request Headers for more information.
Authentication required. See Authentication Headers for more information.
The permissions apply to the application only.
Name | Conditions |
---|---|
See Common Errors for common errors.
See User Action Signing Errors for user action signing specific errors.
Success - a token that will be passed in the X-DFNS-USERACTION header
Auth:Action:Sign
Always Required
challengeIdentifier
*
String
temporary authentication token returned by the Create User Action Signature Challenge
firstFactor
*
Object
first factor credential used to sign the user action
secondFactor
Object
Optional
second factor credential used to authenticate a user
kind
*
String
will always be Fido2
credentialAssertion
*
Object
credentialAssertion.credId
*
String
base64url encoded id of the credential returned by the user's WebAuthn client
credentialAssertion.clientData
*
String
base64url encoded client data object returned by the user's WebAuthn client
credentialAssertion.authenticatorData
*
String
base64url encoded authenticator data object returned by the user's WebAuthn client
credentialAssertion.signature
*
String
base64url encoded signature returned by the user's WebAuthn client
credentialAssertion.userHandle
*
String
base64url encoded userHandle returned by the user's WebAuthn client
kind
*
String
Key
or PasswordProtectedKey
credentialAssertion
*
Object
credentialAssertion.credId
*
String
base64url encoded id of the credential
credentialAssertion.clientData
*
String
Client Data JSON object, stringified and base64url-encoded
credentialAssertion.signature
*
String
base64url encoded signature generated by signing the clientData JSON string object