Package io.vertx.reactivex.ext.auth.webauthn4j

## Class WebAuthn4J

- java.lang.Object
- - io.vertx.reactivex.ext.auth.authentication.AuthenticationProvider
  - - io.vertx.reactivex.ext.auth.webauthn4j.WebAuthn4J

- All Implemented Interfaces:
    `io.vertx.lang.rx.RxDelegate`

      public class WebAuthn4J
      extends AuthenticationProvider
      implements io.vertx.lang.rx.RxDelegate

  Factory interface for creating WebAuthN based `AuthenticationProvider` instances.

  NOTE: This class has been automatically generated from the `original` non RX-ified interface using Vert.x codegen.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static io.vertx.lang.rx.TypeArg<WebAuthn4J>` | `__TYPE_ARG` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `WebAuthn4J​(WebAuthn4J delegate)` |
    `WebAuthn4J​(Object delegate)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static WebAuthn4J` | `create​(Vertx vertx)` | Create a WebAuthN auth provider
    `static WebAuthn4J` | `create​(Vertx vertx, WebAuthn4JOptions options)` | Create a WebAuthN auth provider
    `Future<JsonObject>` | `createCredentialsOptions​(JsonObject user)` | Gets a challenge and any other parameters for the `navigator.credentials.create()` call.
    `WebAuthn4J` | `credentialStorage​(CredentialStorage credentialStorage)` | Provide a `CredentialStorage` that can fetch `Authenticator`s from storage and update them.
    `boolean` | `equals​(Object o)` |
    `Future<JsonObject>` | `getCredentialsOptions​(String username)` | Creates an assertion challenge and any other parameters for the `navigator.credentials.get()` call.
    `WebAuthn4J` | `getDelegate()` |
    `int` | `hashCode()` |
    `static WebAuthn4J` | `newInstance​(WebAuthn4J arg)` |
    `Single<JsonObject>` | `rxCreateCredentialsOptions​(JsonObject user)` | Gets a challenge and any other parameters for the `navigator.credentials.create()` call.
    `Single<JsonObject>` | `rxGetCredentialsOptions​(String username)` | Creates an assertion challenge and any other parameters for the `navigator.credentials.get()` call.
    `String` | `toString()` |

    - ### Methods inherited from class io.vertx.reactivex.ext.auth.authentication.AuthenticationProvider

      `authenticate, newInstance, rxAuthenticate`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### __TYPE_ARG

          public static final io.vertx.lang.rx.TypeArg<WebAuthn4J> __TYPE_ARG

  - ### Constructor Detail

    - #### WebAuthn4J

          public WebAuthn4J​(WebAuthn4J delegate)

    - #### WebAuthn4J

          public WebAuthn4J​(Object delegate)

  - ### Method Detail

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `AuthenticationProvider`

    - #### equals

          public boolean equals​(Object o)

      Overrides:
        `equals` in class `AuthenticationProvider`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `AuthenticationProvider`

    - #### getDelegate

          public WebAuthn4J getDelegate()

      Specified by:
        `getDelegate` in interface `io.vertx.lang.rx.RxDelegate`
      Overrides:
        `getDelegate` in class `AuthenticationProvider`

    - #### create

          public static WebAuthn4J create​(Vertx vertx)

      Create a WebAuthN auth provider
      Parameters:
        `vertx` - the Vertx instance.
      Returns:
        the auth provider.

    - #### create

          public 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

          public 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

    - #### rxCreateCredentialsOptions

          public Single<JsonObject> rxCreateCredentialsOptions​(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

          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 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

    - #### credentialStorage

          public WebAuthn4J credentialStorage​(CredentialStorage credentialStorage)

      Provide a `CredentialStorage` that can fetch `Authenticator`s from storage and update them.
      Parameters:
        `credentialStorage` - the storage abstraction for credentials.
      Returns:
        fluent self.

    - #### newInstance

          public static WebAuthn4J newInstance​(WebAuthn4J arg)