Registering

Prev Next

The Registering class provides UAF logic for the entire registration process, including the preparation of the registration request and registering keys. There are two public methods that need to be invoked in the registration process: prepareRequests and register.

Table: Registering methods and parameters lists the methods, their parameters, and the objects they return.

  Table:  Registering methods and parameters
PurposeParametersReturned object
Method: prepareRequests
Initialize the registration process.
  • appId: ID of the application that wants to register the user.
  • username: User name of the user to be registered.
  • serverData: Server data as JWT token.
  • challengeRaw: The generated challenge.
A list with a single registration request that needs to be forwarded to the FIDO client.
Method: register
Register the user.
  • registrationResponse: To be verified and processed.
  • channelBindingFromRelyingParty: TLS channel binding information obtained from the relying party.
  • trustedFacetIds: List of trusted Face IDs used to check if this request is trusted.
  • currentProcessChallengeB64: Challenge to validate the authentication response.
  • username: User name of the user to be registered.
  • policy: Policy object to check whether the authenticator is allowed.
A list with a single registration result.

To use Registering in a FIDO server, you need to create an instance of the Registering class and inject implementations of the following interfaces when using the constructor:

  • AssertionsManager: Should enable CRUD operations on assertions. Registering calls it when generating the registration request and registering. For more information about the AssertionsManager interface, refer to Interface: AssertionsManager.
  • MetadataProvider: The implementation should be able to retrieve MetadataStatement from the provided metadata source. It is invoked during the second stage of registration. The retrieved data needs to be mapped to a model supported by the SDK (com.onespan.tid.fido.uafprotocol.ver11.metadata.model.MetadataStatement). For more information about the MetadataProvider interface, refer to Interface: MetadataProvider.
  • PolicyProvider: The implementation should retrieve the policy for a given app ID from the storage; PolicyProvider is used to get the policy when generating the registration request. For more information about the PolicyProvider interface, refer to Interface: PolicyProvider.
  • FidoUafConfigProvider: Configuration provider that should supply the maximum value of a registration counter. Called during the second stage of registration.