io.vertx.ext.auth.webauthn

## Interface MetaDataService

-     public interface MetaDataService

  Factory interface for creating FIDO2 MetaDataService.
  Author:
    Paulo Lopes

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `MetaDataService` | `addStatement(JsonObject statement)` Manually feed a Meta Data Statement to the service.
    `Future<Boolean>` | `fetchTOC(String url)` Fetches the FIDO2 TOC for the given URL and process the entries to the metadata store.
    `default MetaDataService` | `fetchTOC(String url, Handler<AsyncResult<Boolean>> handler)` Fetches the FIDO2 TOC for the given URL and process the entries to the metadata store.
    `MetaDataService` | `flush()` Clears all loaded statements, both from the TOC and manually inserted.
    `JsonObject` | `verify(Authenticator authenticator)` Verify the metadata for a given authenticator.

- - ### Method Detail

    - #### fetchTOC

          default MetaDataService fetchTOC(String url,
                                           Handler<AsyncResult<Boolean>> handler)

      Fetches the FIDO2 TOC for the given URL and process the entries to the metadata store. Only valid entries will be stored. The operation will return `true` only if all entries have been added. `false` if they have been processed but at least one was invalid. The operation will only fail on network problems.
      Parameters:
        `url` - the url to the TOC
        `handler` - the async handler to process the response
      Returns:
        fluent self

    - #### fetchTOC

          Future<Boolean> fetchTOC(String url)

      Fetches the FIDO2 TOC for the given URL and process the entries to the metadata store. Only valid entries will be stored. The operation will return `true` only if all entries have been added. `false` if they have been processed but at least one was invalid. The operation will only fail on network problems.
      Parameters:
        `url` - the url to the TOC
      Returns:
        future result of the operation

    - #### addStatement

          MetaDataService addStatement(JsonObject statement)

      Manually feed a Meta Data Statement to the service.
      Parameters:
        `statement` - the json statement
      Returns:
        fluent self

    - #### flush

          MetaDataService flush()

      Clears all loaded statements, both from the TOC and manually inserted. The flush operation will not cancel any in-flight TOC download/processing.
      Returns:
        fluent self

    - #### verify

          JsonObject verify(Authenticator authenticator)

      Verify the metadata for a given authenticator. The MDS will lookup the metadata by the AAGUID. If no AAGUID is known, the result will be `null`. When a statement is found, the statement will be used to verify the certificate chain. A failure during this verification will throw a `RuntimeException`.
      Parameters:
        `authenticator` - authenticator to verify
      Returns:
        an MDS statement for this authenticator or `null`.
      Throws:
        `RuntimeException` - if the verification fails.

Copyright © 2021 Eclipse. All rights reserved.