Interface IdpAdapterManager
public interface IdpAdapterManager
An IdpAdapterManager is the source of record for all IdpAdapters configured in the system
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addConfig
(IdpAdapterConfig config) Add a new Identity Provider AdaptercreateSession
(String name, com.google.common.collect.ImmutableCollection<String> securityZones) Creates aWebAuthSession
given the targeted IdP Adapter's namegenerateLogoutRequestUri
(String name, URI requestUri, WebAuthState.Builder webAuthStateBuilder, String signedAttributesDocument, boolean useBroker) Generates theURI
to redirect the end user for performing logout with an external IdP.generateWebAuthRequestUri
(String name, URI requestUri, WebAuthState.Builder webAuthStateBuilder, boolean useBroker, boolean forceAuth) Generates theURI
to redirect the end user for performing web auth with an external IdP.com.google.common.collect.ImmutableCollection<IdpAdapterMeta>
com.google.common.collect.ImmutableCollection<org.apache.commons.lang3.tuple.Triple<String,
String, String>> Fetch theIdpAdapterConfig
associated with the given IdP namecom.google.common.eventbus.EventBus
void
removeProviderConfig
(String name) Remove an Identity Provider Adapter from the systemcom.google.common.collect.ImmutableCollection<String>
search
(String name, UserAttribute attributeName, String attributeValue) Search for a user against a database of historical login information.void
updateProviderConfig
(String name, IdpAdapterConfig config) Update an existing Identity Provider Adapter
-
Method Details
-
getAllTypes
@Nonnull com.google.common.collect.ImmutableCollection<org.apache.commons.lang3.tuple.Triple<String,String, getAllTypes()String>> - Returns:
- an
ImmutableCollection
of alltriples
of all registered Identity Provider Adapter type ids, their names, and their descriptions
-
getAllConfigs
- Returns:
- an
ImmutableCollection
ofIdpAdapterMeta
for each Identity Provider Adapter configured in the system
-
getConfig
Fetch theIdpAdapterConfig
associated with the given IdP name- Parameters:
name
- The targeted IdP name- Returns:
- An
Optional
which contains theIdpAdapterConfig
associated with the given IdP name or an empty Optional if there exists no IdP Adapter with the given name
-
addConfig
Add a new Identity Provider Adapter- Parameters:
config
- the configuration of the new IdP Adapter- Throws:
NameCollisionException
- if the name of the new config collides with the name of an existing configIdpAdapterManagerException
- if there is some other unexpected problem adding the new config
-
updateProviderConfig
void updateProviderConfig(@Nonnull String name, @Nonnull IdpAdapterConfig config) throws IdpAdapterManagerException Update an existing Identity Provider Adapter- Parameters:
name
- the name of the IdP Adapter to updateconfig
- the new configuration which will replace the IdP Adapter's current configuration- Throws:
NameCollisionException
- if the name of the updated config collides with the name of an existing configNotFoundException
- if a config with the given name does not exist in the systemIdpAdapterManagerException
- if there is some other unexpected problem updating the config
-
removeProviderConfig
Remove an Identity Provider Adapter from the system- Parameters:
name
- the name of the IdP Adapter to remove- Throws:
NotFoundException
- if a config with the given name does not exist in the systemIdpAdapterManagerException
- if there is some other unexpected problem removing the config
-
generateWebAuthRequestUri
@Nonnull URI generateWebAuthRequestUri(@Nonnull String name, @Nonnull URI requestUri, @Nonnull WebAuthState.Builder webAuthStateBuilder, boolean useBroker, boolean forceAuth) throws IdpAdapterManagerException Generates theURI
to redirect the end user for performing web auth with an external IdP.- Parameters:
name
- the targeted IdP Adapter namerequestUri
- the incoming request URIwebAuthStateBuilder
- theWebAuthState.Builder
to attach state to be linked from pre- to post-web-authforceAuth
- force the IdP to re-authenticate the user- Returns:
- the
URI
to redirect the end user for performing web auth with the targeted external IdP - Throws:
NotFoundException
- if an IdP with the given name does not existIdpAdapterManagerException
- if there is an unexpected problem generating the web auth requestURI
-
generateLogoutRequestUri
@Nonnull URI generateLogoutRequestUri(@Nonnull String name, @Nonnull URI requestUri, @Nonnull WebAuthState.Builder webAuthStateBuilder, @Nullable String signedAttributesDocument, boolean useBroker) throws IdpAdapterManagerException Generates theURI
to redirect the end user for performing logout with an external IdP.- Parameters:
name
- the targeted IdP Adapter namerequestUri
- the incoming request URIwebAuthStateBuilder
- theWebAuthState.Builder
to attach state to be linked from pre- to post-logoutsignedAttributesDocument
- the optional signed attributes document from which authentication was asserted, to be used as a hint for some implementations to perform logout appropriately- Returns:
- the
URI
to redirect the end user for performing logout with the targeted external IdP - Throws:
NotFoundException
- if an IdP with the given name does not existIdpAdapterManagerException
- if there is an unexpected problem generating the logout requestURI
UnsupportedOperationException
- if IdP Adapter does not support logout requests
-
createSession
@Nonnull WebAuthSession createSession(@Nullable String name, @Nonnull com.google.common.collect.ImmutableCollection<String> securityZones) Creates aWebAuthSession
given the targeted IdP Adapter's name- Parameters:
name
- the targeted IdP Adapter namesecurityZones
- the security zones of the context in which the WebAuthSession will run
-
search
@Nonnull com.google.common.collect.ImmutableCollection<String> search(@Nonnull String name, @Nonnull UserAttribute attributeName, @Nonnull String attributeValue) Search for a user against a database of historical login information.- Parameters:
name
- the IdP name to searchattributeName
- theUserAttribute
to searchattributeValue
- the search string- Returns:
- the attribute values which closely match the search string
-
getEventBus
@Nonnull com.google.common.eventbus.EventBus getEventBus()- Returns:
- the
EventBus
where thisIdpAdapterManager
publishes change events - See Also:
-