Package org.wildfly.security.http.util
Class SecurityProviderServerMechanismFactory
- java.lang.Object
-
- org.wildfly.security.http.util.SecurityProviderServerMechanismFactory
-
- All Implemented Interfaces:
HttpServerAuthenticationMechanismFactory
public final class SecurityProviderServerMechanismFactory extends Object implements HttpServerAuthenticationMechanismFactory
AHttpServerAuthenticationMechanismFactory
that loads factories from a supplied array ofProvider
instances. The provider service instances may or may not be cached.- Author:
- Darran Lofthouse
-
-
Field Summary
Fields Modifier and Type Field Description private Provider[]
providers
private Supplier<Provider[]>
providerSupplier
private static String
SERVICE_TYPE
private Map<String,List<Provider.Service>>
services
-
Constructor Summary
Constructors Constructor Description SecurityProviderServerMechanismFactory()
Construct a new instance which uses the globally registeredProvider
instances.SecurityProviderServerMechanismFactory(Provider provider)
Construct a new instance ofSecurityProviderServerMechanismFactory
.SecurityProviderServerMechanismFactory(Provider[] providers)
Construct a new instance ofSecurityProviderServerMechanismFactory
.SecurityProviderServerMechanismFactory(Supplier<Provider[]> providerSupplier)
Construct a new instance ofSecurityProviderServerMechanismFactory
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HttpServerAuthenticationMechanism
createAuthenticationMechanism(String mechanismName, Map<String,?> properties, CallbackHandler callbackHandler)
Obtain an instance of the authentication mechanism requested provided this is allowed by any policy specified within the supplied properties.String[]
getMechanismNames(Map<String,?> properties)
Get the names of the HTTP authentication mechanisms that can be supplied by this factory filtered by the supplied properties.private Map<String,List<Provider.Service>>
getServices()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.wildfly.security.http.HttpServerAuthenticationMechanismFactory
shutdown
-
-
-
-
Constructor Detail
-
SecurityProviderServerMechanismFactory
public SecurityProviderServerMechanismFactory()
Construct a new instance which uses the globally registeredProvider
instances.
-
SecurityProviderServerMechanismFactory
public SecurityProviderServerMechanismFactory(Supplier<Provider[]> providerSupplier)
Construct a new instance ofSecurityProviderServerMechanismFactory
.- Parameters:
providerSupplier
- a supplier of providers to use for locating the factories
-
SecurityProviderServerMechanismFactory
public SecurityProviderServerMechanismFactory(Provider[] providers)
Construct a new instance ofSecurityProviderServerMechanismFactory
.- Parameters:
providers
- the provider instances this factory should use.
-
SecurityProviderServerMechanismFactory
public SecurityProviderServerMechanismFactory(Provider provider)
Construct a new instance ofSecurityProviderServerMechanismFactory
.- Parameters:
provider
- the provider instance this factory should use.
-
-
Method Detail
-
getMechanismNames
public String[] getMechanismNames(Map<String,?> properties)
Description copied from interface:HttpServerAuthenticationMechanismFactory
Get the names of the HTTP authentication mechanisms that can be supplied by this factory filtered by the supplied properties.- Specified by:
getMechanismNames
in interfaceHttpServerAuthenticationMechanismFactory
- Parameters:
properties
- thenon-null
set of properties to pass configuration to the mechanisms that may be evaluated for mechanism availability.- Returns:
- A
non-null
array of the names of the supported HTTP authentication mechanisms. - See Also:
HttpServerAuthenticationMechanismFactory.getMechanismNames(java.util.Map)
-
createAuthenticationMechanism
public HttpServerAuthenticationMechanism createAuthenticationMechanism(String mechanismName, Map<String,?> properties, CallbackHandler callbackHandler) throws HttpAuthenticationException
Description copied from interface:HttpServerAuthenticationMechanismFactory
Obtain an instance of the authentication mechanism requested provided this is allowed by any policy specified within the supplied properties.- Specified by:
createAuthenticationMechanism
in interfaceHttpServerAuthenticationMechanismFactory
- Parameters:
mechanismName
- Thenon-null
name of the mechanism to create.properties
- Thenon-null
set of properties to select and configure the mechanism that may be evaluated for mechanism availability.callbackHandler
- Thenon-null
CallbackHandler
for use by the mechanism during authentication.- Returns:
- the configured
HttpServerAuthenticationMechanism
ornull
if no mechanism could be resolved for the given mechanism name. - Throws:
HttpAuthenticationException
- if there is an error creating the mechanism.- See Also:
HttpServerAuthenticationMechanismFactory.createAuthenticationMechanism(java.lang.String, java.util.Map, javax.security.auth.callback.CallbackHandler)
-
getServices
private Map<String,List<Provider.Service>> getServices()
-
-