io.vertx.ext.auth.webauthn

## Interface WebAuthn

- All Superinterfaces:
    AuthenticationProvider

      public interface WebAuthn
      extends AuthenticationProvider

  Factory interface for creating WebAuthN based `AuthenticationProvider` instances.
  Author:
    Paulo Lopes

- - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `static WebAuthn` | `create(Vertx vertx, CredentialStore store)` Create a WebAuthN auth provider
    `static WebAuthn` | `create(Vertx vertx, WebAuthnOptions options, CredentialStore store)` Create a WebAuthN auth provider
    `default Future<JsonObject>` | `createCredentialsOptions(JsonObject user)` Same as `createCredentialsOptions(JsonObject, Handler)` but returning a Future.
    `WebAuthn` | `createCredentialsOptions(JsonObject user, Handler<AsyncResult<JsonObject>> handler)` Generates makeCredentials request
    `default Future<JsonObject>` | `getCredentialsOptions(String username)` Same as `getCredentialsOptions(String, Handler)` but returning a Future.
    `WebAuthn` | `getCredentialsOptions(String username, Handler<AsyncResult<JsonObject>> handler)` Generates getAssertion request.

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

      `authenticate, authenticate, authenticate, authenticate`

- - ### Method Detail

    - #### create

          static WebAuthn create(Vertx vertx,
                                 CredentialStore store)

      Create a WebAuthN auth provider
      Parameters:
        `vertx` - the Vertx instance.
        `store` - the user store used to load credentials.
      Returns:
        the auth provider.

    - #### create

          static WebAuthn create(Vertx vertx,
                                 WebAuthnOptions options,
                                 CredentialStore store)

      Create a WebAuthN auth provider
      Parameters:
        `vertx` - the Vertx instance.
        `options` - the custom options to the provider.
        `store` - the user store used to load credentials.
      Returns:
        the auth provider.

    - #### createCredentialsOptions

          WebAuthn createCredentialsOptions(JsonObject user,
                                            Handler<AsyncResult<JsonObject>> handler)

      Generates makeCredentials request
      Parameters:
        `user` - - the user object with username, displayName
        `handler` - server encoded make credentials request
      Returns:
        fluent self

    - #### createCredentialsOptions

          default Future<JsonObject> createCredentialsOptions(JsonObject user)

      Same as `createCredentialsOptions(JsonObject, Handler)` but returning a Future.

    - #### getCredentialsOptions

          WebAuthn getCredentialsOptions(String username,
                                         Handler<AsyncResult<JsonObject>> handler)

      Generates getAssertion request. If the auth provider is configured with `RequireResidentKey` and the username is null then the generated assertion will be a RK assertion (Usernameless).
      Parameters:
        `username` - the unique user identified
        `handler` - server encoded get assertion request
      Returns:
        fluent self.

    - #### getCredentialsOptions

          default Future<JsonObject> getCredentialsOptions(String username)

      Same as `getCredentialsOptions(String, Handler)` but returning a Future.

Copyright © 2020 Eclipse. All rights reserved.