Interface WebAuthn4J

All Superinterfaces:
AuthenticationProvider

public interface WebAuthn4J extends AuthenticationProvider
Factory interface for creating WebAuthN based AuthenticationProvider instances.
Author:
Paulo Lopes
  • Method Details

    • create

      static WebAuthn4J create(Vertx vertx)
      Create a WebAuthN auth provider
      Parameters:
      vertx - the Vertx instance.
      Returns:
      the auth provider.
    • create

      static WebAuthn4J create(Vertx vertx, WebAuthn4JOptions options)
      Create a WebAuthN auth provider
      Parameters:
      vertx - the Vertx instance.
      options - the custom options to the provider.
      Returns:
      the auth provider.
    • createCredentialsOptions

      Future<JsonObject> createCredentialsOptions(JsonObject user)
      Gets a challenge and any other parameters for the navigator.credentials.create() call.

      The object being returned is described here https://w3c.github.io/webauthn/#dictdef-publickeycredentialcreationoptions

      Parameters:
      user - - the user object with name and optionally displayName and icon
      Returns:
      a future notified with the encoded make credentials request
    • getCredentialsOptions

      Future<JsonObject> getCredentialsOptions(String username)
      Creates an assertion challenge and any other parameters for the navigator.credentials.get() call. If the auth provider is configured with RequireResidentKey and the username is null then the generated assertion will be a RK assertion (Usernameless).

      The object being returned is described here https://w3c.github.io/webauthn/#dictdef-publickeycredentialcreationoptions

      Parameters:
      username - the unique user identified
      Returns:
      a future notified with the server encoded get assertion request
    • credentialStorage

      WebAuthn4J credentialStorage(CredentialStorage credentialStorage)
      Provide a CredentialStorage that can fetch Authenticators from storage and update them.
      Parameters:
      credentialStorage - the storage abstraction for credentials.
      Returns:
      fluent self.