Interface IdpAdapterManager
- 
 public interface IdpAdapterManagerAn IdpAdapterManager is the source of record for all IdpAdapters configured in the system
- 
- 
Method SummaryAll Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddConfig(IdpAdapterConfig config)Add a new Identity Provider AdapterWebAuthSessioncreateSession(java.lang.String name, com.google.common.collect.ImmutableCollection<java.lang.String> securityZones)Creates aWebAuthSessiongiven the targeted IdP Adapter's namejava.net.URIgenerateLogoutRequestUri(java.lang.String name, java.net.URI requestUri, WebAuthState.Builder webAuthStateBuilder, java.lang.String signedAttributesDocument, boolean useBroker)Generates theURIto redirect the end user for performing logout with an external IdP.java.net.URIgenerateWebAuthRequestUri(java.lang.String name, java.net.URI requestUri, WebAuthState.Builder webAuthStateBuilder, boolean useBroker, boolean forceAuth)Generates theURIto redirect the end user for performing web auth with an external IdP.com.google.common.collect.ImmutableCollection<IdpAdapterMeta>getAllConfigs()com.google.common.collect.ImmutableCollection<org.apache.commons.lang3.tuple.Triple<java.lang.String,java.lang.String,java.lang.String>>getAllTypes()java.util.Optional<IdpAdapterConfig>getConfig(java.lang.String name)Fetch theIdpAdapterConfigassociated with the given IdP namecom.google.common.eventbus.EventBusgetEventBus()voidremoveProviderConfig(java.lang.String name)Remove an Identity Provider Adapter from the systemcom.google.common.collect.ImmutableCollection<java.lang.String>search(java.lang.String name, UserAttribute attributeName, java.lang.String attributeValue)Search for a user against a database of historical login information.voidupdateProviderConfig(java.lang.String name, IdpAdapterConfig config)Update an existing Identity Provider Adapter
 
- 
- 
- 
Method Detail- 
getAllTypes@Nonnull com.google.common.collect.ImmutableCollection<org.apache.commons.lang3.tuple.Triple<java.lang.String,java.lang.String,java.lang.String>> getAllTypes() - Returns:
- an ImmutableCollectionof alltriplesof all registered Identity Provider Adapter type ids, their names, and their descriptions
 
 - 
getAllConfigs@Nonnull com.google.common.collect.ImmutableCollection<IdpAdapterMeta> getAllConfigs() - Returns:
- an ImmutableCollectionofIdpAdapterMetafor each Identity Provider Adapter configured in the system
 
 - 
getConfig@Nonnull java.util.Optional<IdpAdapterConfig> getConfig(@Nonnull java.lang.String name) Fetch theIdpAdapterConfigassociated with the given IdP name- Parameters:
- name- The targeted IdP name
- Returns:
- An Optionalwhich contains theIdpAdapterConfigassociated with the given IdP name or an empty Optional if there exists no IdP Adapter with the given name
 
 - 
addConfigvoid addConfig(@Nonnull IdpAdapterConfig config) throws IdpAdapterManagerExceptionAdd 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 config
- IdpAdapterManagerException- if there is some other unexpected problem adding the new config
 
 - 
updateProviderConfigvoid updateProviderConfig(@Nonnull java.lang.String name, @Nonnull IdpAdapterConfig config) throws IdpAdapterManagerExceptionUpdate an existing Identity Provider Adapter- Parameters:
- name- the name of the IdP Adapter to update
- config- 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 config
- NotFoundException- if a config with the given name does not exist in the system
- IdpAdapterManagerException- if there is some other unexpected problem updating the config
 
 - 
removeProviderConfigvoid removeProviderConfig(@Nonnull java.lang.String name) throws IdpAdapterManagerExceptionRemove 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 system
- IdpAdapterManagerException- if there is some other unexpected problem removing the config
 
 - 
generateWebAuthRequestUri@Nonnull java.net.URI generateWebAuthRequestUri(@Nonnull java.lang.String name, @Nonnull java.net.URI requestUri, @Nonnull WebAuthState.Builder webAuthStateBuilder, boolean useBroker, boolean forceAuth) throws IdpAdapterManagerExceptionGenerates theURIto redirect the end user for performing web auth with an external IdP.- Parameters:
- name- the targeted IdP Adapter name
- requestUri- the incoming request URI
- webAuthStateBuilder- the- WebAuthState.Builderto attach state to be linked from pre- to post-web-auth
- forceAuth- force the IdP to re-authenticate the user
- Returns:
- the URIto redirect the end user for performing web auth with the targeted external IdP
- Throws:
- NotFoundException- if an IdP with the given name does not exist
- IdpAdapterManagerException- if there is an unexpected problem generating the web auth request- URI
 
 - 
generateLogoutRequestUri@Nonnull java.net.URI generateLogoutRequestUri(@Nonnull java.lang.String name, @Nonnull java.net.URI requestUri, @Nonnull WebAuthState.Builder webAuthStateBuilder, @Nullable java.lang.String signedAttributesDocument, boolean useBroker) throws IdpAdapterManagerExceptionGenerates theURIto redirect the end user for performing logout with an external IdP.- Parameters:
- name- the targeted IdP Adapter name
- requestUri- the incoming request URI
- webAuthStateBuilder- the- WebAuthState.Builderto attach state to be linked from pre- to post-logout
- signedAttributesDocument- 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 URIto redirect the end user for performing logout with the targeted external IdP
- Throws:
- NotFoundException- if an IdP with the given name does not exist
- IdpAdapterManagerException- if there is an unexpected problem generating the logout request- URI
- java.lang.UnsupportedOperationException- if IdP Adapter does not support logout requests
 
 - 
createSession@Nonnull WebAuthSession createSession(@Nullable java.lang.String name, @Nonnull com.google.common.collect.ImmutableCollection<java.lang.String> securityZones) Creates aWebAuthSessiongiven the targeted IdP Adapter's name- Parameters:
- name- the targeted IdP Adapter name
- securityZones- the security zones of the context in which the WebAuthSession will run
 
 - 
search@Nonnull com.google.common.collect.ImmutableCollection<java.lang.String> search(@Nonnull java.lang.String name, @Nonnull UserAttribute attributeName, @Nonnull java.lang.String attributeValue)Search for a user against a database of historical login information.- Parameters:
- name- the IdP name to search
- attributeName- the- UserAttributeto search
- attributeValue- the search string
- Returns:
- the attribute values which closely match the search string
 
 - 
getEventBus@Nonnull com.google.common.eventbus.EventBus getEventBus() - Returns:
- the EventBuswhere thisIdpAdapterManagerpublishes change events
- See Also:
- IdpAdapterManagerChangeEvent,- IdpRedundancyStateChangeEvent
 
 
- 
 
-