Package org.wildfly.security.http
Class HttpAuthenticator.Builder
- java.lang.Object
-
- org.wildfly.security.http.HttpAuthenticator.Builder
-
- Enclosing class:
- HttpAuthenticator
public static class HttpAuthenticator.Builder extends Object
ABuilder
to configure and create an instance ofHttpAuthenticator
.
-
-
Field Summary
Fields Modifier and Type Field Description private HttpExchangeSpi
httpExchangeSpi
private Supplier<IdentityCache>
identityCacheSupplier
private boolean
ignoreOptionalFailures
private Consumer<Runnable>
logoutHandlerConsumer
private Supplier<List<HttpServerAuthenticationMechanism>>
mechanismSupplier
private String
programmaticMechanismName
private boolean
required
private SecurityDomain
securityDomain
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HttpAuthenticator
build()
Build the newHttpAuthenticator
instance.HttpAuthenticator.Builder
registerLogoutHandler(Consumer<Runnable> logoutHandlerConsumer)
HttpAuthenticator.Builder
setHttpExchangeSpi(HttpExchangeSpi httpExchangeSpi)
Set theHttpExchangeSpi
instance for the current request to allow integration with the Elytron APIs.HttpAuthenticator.Builder
setIdentityCacheSupplier(Supplier<IdentityCache> identityCacheSupplier)
Set aSupplier
which acts as a factory to return a newIdentityCache
instance for the current request, this allows alternative caching strategies to be provided.HttpAuthenticator.Builder
setIgnoreOptionalFailures(boolean ignoreOptionalFailures)
Where authentication is not required but is still attempted a failure of an authentication mechanism will cause the challenges to be sent and the current request returned to the client, setting this value to true will allow the failure to be ignored.HttpAuthenticator.Builder
setMechanismSupplier(Supplier<List<HttpServerAuthenticationMechanism>> mechanismSupplier)
Set the supplier to use to obtain list ofHttpServerAuthenticationMechanism
implementations instances to use, based on the configured policy.HttpAuthenticator.Builder
setProgrammaticMechanismName(String programmaticMechanismName)
Set the mechanism name that should be used for programmatic authentication if one is not provided at the time of the call.HttpAuthenticator.Builder
setRequired(boolean required)
Sets if authentication is required for the current request, if not required mechanisms will be called to be given the opportunity to authenticateHttpAuthenticator.Builder
setSecurityDomain(SecurityDomain securityDomain)
Set theSecurityDomain
to use for programmatic authentication.
-
-
-
Field Detail
-
mechanismSupplier
private Supplier<List<HttpServerAuthenticationMechanism>> mechanismSupplier
-
securityDomain
private SecurityDomain securityDomain
-
httpExchangeSpi
private HttpExchangeSpi httpExchangeSpi
-
required
private boolean required
-
ignoreOptionalFailures
private boolean ignoreOptionalFailures
-
programmaticMechanismName
private String programmaticMechanismName
-
identityCacheSupplier
private Supplier<IdentityCache> identityCacheSupplier
-
-
Method Detail
-
setMechanismSupplier
public HttpAuthenticator.Builder setMechanismSupplier(Supplier<List<HttpServerAuthenticationMechanism>> mechanismSupplier)
Set the supplier to use to obtain list ofHttpServerAuthenticationMechanism
implementations instances to use, based on the configured policy.- Parameters:
mechanismSupplier
- theSupplier
with the configured authentication policy- Returns:
- the
HttpAuthenticator.Builder
to allow method call chaining.
-
setSecurityDomain
public HttpAuthenticator.Builder setSecurityDomain(SecurityDomain securityDomain)
Set theSecurityDomain
to use for programmatic authentication.- Parameters:
securityDomain
- theSecurityDomain
to use for programmatic authentication.- Returns:
- the
HttpAuthenticator.Builder
to allow method call chaining.
-
setHttpExchangeSpi
public HttpAuthenticator.Builder setHttpExchangeSpi(HttpExchangeSpi httpExchangeSpi)
Set theHttpExchangeSpi
instance for the current request to allow integration with the Elytron APIs.- Parameters:
httpExchangeSpi
- theHttpExchangeSpi
instance for the current request- Returns:
- the
HttpAuthenticator.Builder
to allow method call chaining.
-
setRequired
public HttpAuthenticator.Builder setRequired(boolean required)
Sets if authentication is required for the current request, if not required mechanisms will be called to be given the opportunity to authenticate- Parameters:
required
- is authentication required for the current request?- Returns:
- the
HttpAuthenticator.Builder
to allow method call chaining.
-
setIgnoreOptionalFailures
public HttpAuthenticator.Builder setIgnoreOptionalFailures(boolean ignoreOptionalFailures)
Where authentication is not required but is still attempted a failure of an authentication mechanism will cause the challenges to be sent and the current request returned to the client, setting this value to true will allow the failure to be ignored. This setting has no effect when required is set totrue
, in that case all failures will result in a client- Parameters:
ignoreOptionalFailures
- should mechanism failures be ignored if authentication is optional.- Returns:
- the
HttpAuthenticator.Builder
to allow method call chaining.
-
registerLogoutHandler
public HttpAuthenticator.Builder registerLogoutHandler(Consumer<Runnable> logoutHandlerConsumer)
A
Consumer
responsible for registering aRunnable
emitted by one of the mechanisms during the evaluation of a request and representing some action to be taken during logout.This method is mainly targeted for programmatic logout where logout requests are send by the application after the authentication. Although, integration code is free to register the logout handler whatever they want in order to support different logout scenarios.
- Parameters:
logoutHandlerConsumer
- the consumer responsible for registering the logout handler (notnull
)- Returns:
- the
HttpAuthenticator.Builder
to allow method call chaining.
-
setProgrammaticMechanismName
public HttpAuthenticator.Builder setProgrammaticMechanismName(String programmaticMechanismName)
Set the mechanism name that should be used for programmatic authentication if one is not provided at the time of the call.- Parameters:
programmaticMechanismName
- the name of the mechanism to use for programmatic authentication.- Returns:
- the
HttpAuthenticator.Builder
to allow method call chaining.
-
setIdentityCacheSupplier
public HttpAuthenticator.Builder setIdentityCacheSupplier(Supplier<IdentityCache> identityCacheSupplier)
Set aSupplier
which acts as a factory to return a newIdentityCache
instance for the current request, this allows alternative caching strategies to be provided.- Parameters:
identityCacheSupplier
- - a factory which returns newIdentityCache
instances for the current request.- Returns:
- the
HttpAuthenticator.Builder
to allow method call chaining.
-
build
public HttpAuthenticator build()
Build the newHttpAuthenticator
instance.- Returns:
- the new
HttpAuthenticator
instance.
-
-