public interface WebAuthn extends AuthenticationProvider
AuthenticationProvider instances.| Modifier and Type | Method and Description |
|---|---|
WebAuthn |
authenticatorFetcher(java.util.function.Function<Authenticator,Future<List<Authenticator>>> fetcher)
Provide a
Function that can fetch Authenticators from a backend given the incomplete
Authenticator argument. |
WebAuthn |
authenticatorUpdater(java.util.function.Function<Authenticator,Future<Void>> updater)
Provide a
Function that can update or insert a Authenticator. |
static WebAuthn |
create(Vertx vertx)
Create a WebAuthN auth provider
|
static WebAuthn |
create(Vertx vertx,
WebAuthnOptions options)
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)
Gets a challenge and any other parameters for the
navigator.credentials.create() call. |
default Future<JsonObject> |
getCredentialsOptions(String username)
Same as
getCredentialsOptions(String, Handler) but returning a Future. |
WebAuthn |
getCredentialsOptions(String name,
Handler<AsyncResult<JsonObject>> handler)
Creates an assertion challenge and any other parameters for the
navigator.credentials.get() call. |
MetaDataService |
metaDataService()
Getter to the instance FIDO2 Meta Data Service.
|
authenticate, authenticate, authenticate, authenticatestatic WebAuthn create(Vertx vertx)
vertx - the Vertx instance.static WebAuthn create(Vertx vertx, WebAuthnOptions options)
vertx - the Vertx instance.options - the custom options to the provider.WebAuthn createCredentialsOptions(JsonObject user, Handler<AsyncResult<JsonObject>> handler)
navigator.credentials.create() call.
The object being returned is described here https://w3c.github.io/webauthn/#dictdef-publickeycredentialcreationoptionsuser - - the user object with name and optionally displayName and iconhandler - server encoded make credentials requestdefault Future<JsonObject> createCredentialsOptions(JsonObject user)
createCredentialsOptions(JsonObject, Handler) but returning a Future.WebAuthn getCredentialsOptions(String name, Handler<AsyncResult<JsonObject>> handler)
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-publickeycredentialcreationoptionsname - the unique user identifiedhandler - server encoded get assertion requestdefault Future<JsonObject> getCredentialsOptions(String username)
getCredentialsOptions(String, Handler) but returning a Future.WebAuthn authenticatorFetcher(java.util.function.Function<Authenticator,Future<List<Authenticator>>> fetcher)
Function 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<List<Authenticator>>>
Authenticator the incomplete authenticator data to lookup.Futureasync result with a list of authenticators.fetcher - fetcher function.WebAuthn authenticatorUpdater(java.util.function.Function<Authenticator,Future<Void>> updater)
Function 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.getCounter(), 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<Void>
Authenticator the authenticator data to update.Futureasync result of the operation.updater - updater function.MetaDataService metaDataService()
Copyright © 2021 Eclipse. All rights reserved.