Class WebAuthn

    • Constructor Detail

      • WebAuthn

        public WebAuthn​(WebAuthn delegate)
      • WebAuthn

        public WebAuthn​(Object delegate)
    • Method Detail

      • create

        public static WebAuthn create​(io.vertx.rxjava.core.Vertx vertx)
        Create a WebAuthN auth provider
        Parameters:
        vertx - the Vertx instance.
        Returns:
        the auth provider.
      • create

        public static WebAuthn create​(io.vertx.rxjava.core.Vertx vertx,
                                      WebAuthnOptions options)
        Create a WebAuthN auth provider
        Parameters:
        vertx - the Vertx instance.
        options - the custom options to the provider.
        Returns:
        the auth provider.
      • getCredentialsOptions

        public 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
      • rxGetCredentialsOptions

        public rx.Single<JsonObject> rxGetCredentialsOptions​(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
      • authenticatorFetcher

        public WebAuthn authenticatorFetcher​(Function<Authenticator,​Future<List<Authenticator>>> fetcher)
        Provide a that can fetch Authenticators from a backend given the incomplete Authenticator argument.

        The implementation must consider the following fields exclusively, while performing the lookup:

        It may return more than 1 result, for example when a user can be identified using different modalities. To signal that a user is not allowed/present on the system, a failure should be returned, not null.

        The function signature is as follows:

        (Authenticator) -> Future>>

        • Authenticator the incomplete authenticator data to lookup.
        • async result with a list of authenticators.
        Parameters:
        fetcher - fetcher function.
        Returns:
        fluent self.
      • authenticatorUpdater

        public WebAuthn authenticatorUpdater​(Function<Authenticator,​Future<Void>> updater)
        Provide a that can update or insert a Authenticator. The function should store a given authenticator to a persistence storage.

        When an authenticator is already present, this method must at least update Authenticator, and is not required to perform any other update.

        For new authenticators, the whole object data must be persisted.

        The function signature is as follows:

        (Authenticator) -> Future

        • Authenticator the authenticator data to update.
        • async result of the operation.
        Parameters:
        updater - updater function.
        Returns:
        fluent self.
      • metaDataService

        public MetaDataService metaDataService()
        Getter to the instance FIDO2 Meta Data Service.
        Returns:
        the MDS instance.