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.
    • createPublicKeyCredentialCreationOptions

      Future<JsonObject> createPublicKeyCredentialCreationOptions(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
    • createCredentialsOptions

      @Deprecated default Future<JsonObject> createCredentialsOptions(JsonObject user)
      Deprecated.
      the name of this method is misleading, as it creates a PublicKeyCredentialCreationOptions object, use createPublicKeyCredentialCreationOptions(JsonObject) instead
      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
    • createPublicKeyCredentialRequestOptions

      Future<JsonObject> createPublicKeyCredentialRequestOptions(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-publickeycredentialrequestoptions

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

      @Deprecated default Future<JsonObject> getCredentialsOptions(String username)
      Deprecated.
      the name of this method is misleading, as it creates a PublicKeyCredentialRequestOptions object, use createPublicKeyCredentialRequestOptions(String) instead
      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-publickeycredentialrequestoptions

      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.