STRUCT

WebAuthnAuthenticationClientOperationStep

Contents

swift
public struct WebAuthnAuthenticationClientOperationStep: ClientOperationStep

A step that instructs a client that it should use the device's platform Authentication Services API to perform a User Authentication Assertion WebAuthn flow

The client application should invoke formattedParametersForAssertion method to build the request parameters, which can then be used with continueAction to proceed with the flow. Fallback actions are provided to assist on fallback if an error happens.

For more information, refer to the HAAPI Data Model documentation.

Properties

actionModel

swift
public let actionModel: WebAuthnAuthenticationClientOperationActionModel

the WebAuthn client operation action model that contains the necessary details for the client to use the device's platform Authentication Services.

metadata

swift
public let metadata: Metadata?

type

swift
public let type: RepresentationType

actions

swift
public let actions: [Action]

An array of Action that contains possible actions a user or the client may choose to take to continue the flow.

links

swift
public let links: [Link]

messages

swift
public let messages: [UserMessage]

properties

swift
public let properties: Properties? = nil

continueAction

swift
public let continueAction: FormAction

Returns the form action that has to be submitted alongside the result of [buildParameters] after receiving the callback from the authenticator interaction.

fallbackActions

swift
public var fallbackActions: [Action]

Returns the actions that should be triggered when WebAuthnhandling fails or is impossible to use with the native APIs.

Methods

formattedParametersForAssertion(rawAuthenticatorData:rawClientDataJSON:signature:credentialID:credentialParamType:)

swift
public func formattedParametersForAssertion(
    rawAuthenticatorData: Data,
    rawClientDataJSON: Data,
    signature: Data,
    credentialID: Data,
    credentialParamType: String = "public-key"
) -> [String: Any]

Builds the form parameters necessary to submit a WebAuthn Assertion request.

Parameters

Name Description
rawAuthenticatorData the attestation object’s data provided by the device’s platform Authorization Controller ASAuthorization.credential response.
rawClientDataJSON the clientDataJSON’s data provided by the device’s platform Authorization Controller ASAuthorization.credential response.
signature the signature’s data provided by the device’s platform Authorization Controller ASAuthorization.credential response.
credentialID the credentialID’s data provided by the device’s platform Authorization Controller ASAuthorization.credential response.
credentialParamType the credential type used to setup the authorization assertion request. Defaults to “public-key”.