Interface IdpAdapterManager
public interface IdpAdapterManager
An IdpAdapterManager is the source of record for all IdpAdapters configured in the system
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddConfig(IdpAdapterConfig config) Add a new Identity Provider AdaptercreateSession(String name, com.google.common.collect.ImmutableCollection<String> securityZones) Creates aWebAuthSessiongiven the targeted IdP Adapter's namegenerateLogoutRequestUri(String name, URI requestUri, WebAuthState.Builder webAuthStateBuilder, String signedAttributesDocument, boolean useBroker) Generates theURIto redirect the end user for performing logout with an external IdP.generateWebAuthRequestUri(String name, 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>com.google.common.collect.ImmutableCollection<org.apache.commons.lang3.tuple.Triple<String,String, String>> Fetch theIdpAdapterConfigassociated with the given IdP namecom.google.common.eventbus.EventBusvoidremoveProviderConfig(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.voidupdateProviderConfig(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
ImmutableCollectionof alltriplesof all registered Identity Provider Adapter type ids, their names, and their descriptions
-
getAllConfigs
- Returns:
- an
ImmutableCollectionofIdpAdapterMetafor each Identity Provider Adapter configured in the system
-
getConfig
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
-
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 theURIto redirect the end user for performing web auth with an external IdP.- Parameters:
name- the targeted IdP Adapter namerequestUri- the incoming request URIwebAuthStateBuilder- theWebAuthState.Builderto attach state to be linked from pre- to post-web-authforceAuth- 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 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 theURIto redirect the end user for performing logout with an external IdP.- Parameters:
name- the targeted IdP Adapter namerequestUri- the incoming request URIwebAuthStateBuilder- theWebAuthState.Builderto 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
URIto 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 requestURIUnsupportedOperationException- if IdP Adapter does not support logout requests
-
createSession
@Nonnull WebAuthSession createSession(@Nullable String name, @Nonnull com.google.common.collect.ImmutableCollection<String> securityZones) Creates aWebAuthSessiongiven 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- theUserAttributeto searchattributeValue- 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:
-