Class BrowserSSOProfileConfiguration
java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent
net.shibboleth.profile.config.AbstractProfileConfiguration
net.shibboleth.profile.config.AbstractConditionalProfileConfiguration
net.shibboleth.idp.profile.config.AbstractInterceptorAwareProfileConfiguration
net.shibboleth.idp.saml.profile.config.impl.AbstractSAMLProfileConfiguration
net.shibboleth.idp.saml.saml1.profile.config.impl.AbstractSAML1ArtifactAwareProfileConfiguration
net.shibboleth.idp.saml.saml1.profile.config.impl.AbstractSAML1AssertionProducingProfileConfiguration
net.shibboleth.idp.saml.saml1.profile.config.impl.BrowserSSOProfileConfiguration
- All Implemented Interfaces:
AuthenticationProfileConfiguration,InterceptorAwareProfileConfiguration,BrowserSSOProfileConfiguration,SAMLProfileConfiguration,AttributeResolvingProfileConfiguration,ConditionalProfileConfiguration,ProfileConfiguration,SAMLArtifactAwareProfileConfiguration,SAMLAssertionProducingProfileConfiguration,SAMLProfileConfiguration,BrowserSSOProfileConfiguration,Component,DestructableComponent,IdentifiableComponent,IdentifiedComponent,InitializableComponent
public class BrowserSSOProfileConfiguration
extends AbstractSAML1AssertionProducingProfileConfiguration
implements BrowserSSOProfileConfiguration, BrowserSSOProfileConfiguration, AuthenticationProfileConfiguration
Configuration for SAML 1 Browser SSO profile requests.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Function<ProfileRequestContext,String> Lookup strategy for attribute recipient group ID.private Function<ProfileRequestContext,Set<String>> Lookup function to supply authentication flows.private Function<ProfileRequestContext,Collection<Principal>> Lookup function to supply default authentication methods.private Predicate<ProfileRequestContext>Whether to mandate forced authentication for the request.private Predicate<ProfileRequestContext>Whether responses to the authentication request should include an attribute statement.private Function<ProfileRequestContext,Duration> Lookup function for max-age setting.private Function<ProfileRequestContext,Collection<String>> Lookup function to supply NameIdentifier formats.private Function<ProfileRequestContext,Collection<String>> Lookup function to supply post authentication flows.static final StringName of profile counter.private Function<ProfileRequestContext,Integer> Lookup function to supply proxyCount property.private Function<ProfileRequestContext,Collection<String>> Lookup strategy for requested IdP attribute names to pass into resolver.private Predicate<ProfileRequestContext>Whether attributes should be resolved in the course of the profile.Fields inherited from interface net.shibboleth.saml.saml1.profile.config.BrowserSSOProfileConfiguration
PROFILE_IDFields inherited from interface net.shibboleth.profile.config.ProfileConfiguration
DEFAULT_DISALLOWED_FEATURESFields inherited from interface net.shibboleth.saml.profile.config.SAMLAssertionProducingProfileConfiguration
DEFAULT_ASSERTION_LIFETIME -
Constructor Summary
ConstructorsModifierConstructorDescriptionConstructor.protectedBrowserSSOProfileConfiguration(String profileId) Constructor. -
Method Summary
Modifier and TypeMethodDescriptiongetAttributeRecipientGroupID(ProfileRequestContext profileRequestContext) getAuthenticationFlows(ProfileRequestContext profileRequestContext) Deprecated, for removal: This API element is subject to removal in a future version.getDefaultAuthenticationMethods(ProfileRequestContext profileRequestContext) Get the default authentication methods to use, expressed as custom principals.getMaxAge(ProfileRequestContext profileRequestContext) Get duration since anAuthenticationResultwas created that allows it to be reused for this request.getNameIDFormatPrecedence(ProfileRequestContext profileRequestContext) Get the name identifier formats to use.getPostAuthenticationFlows(ProfileRequestContext profileRequestContext) Get an ordered list of post-authentication interceptor flows to run for this profile.getProxyCount(ProfileRequestContext profileRequestContext) Gets the maximum number of times an assertion may be proxied outbound and/or the maximum number of hops between the relying party and a proxied authentication authority inbound.getRequestedIdPAttributeNames(ProfileRequestContext profileRequestContext) booleanisForceAuthn(ProfileRequestContext profileRequestContext) Get whether the authentication process should include a proof of user presence.booleanisIncludeAttributeStatement(ProfileRequestContext profileRequestContext) Get whether responses to the authentication request should include an attribute statement.booleanisResolveAttributes(ProfileRequestContext profileRequestContext) voidsetAttributeRecipientGroupID(String groupID) Set the group of services for which attributes are being resolved.voidSet the lookup strategy for the group of services for which attributes are being resolved.voidsetAuthenticationFlows(Collection<String> flows) Deprecated, for removal: This API element is subject to removal in a future version.voidDeprecated, for removal: This API element is subject to removal in a future version.(since="5.2.0", forRemoval=true)voidSet the default authentication methods to use, expressed as custom principals.voidsetDefaultAuthenticationMethodsLookupStrategy(Function<ProfileRequestContext, Collection<Principal>> strategy) Set a lookup strategy for thegetDefaultAuthenticationMethods(ProfileRequestContext)method.voidsetForceAuthn(boolean flag) Set whether a fresh user presence proof should be required for this request.voidsetForceAuthnPredicate(Predicate<ProfileRequestContext> condition) Set a condition to determine whether a fresh user presence proof should be required for this request.voidsetIncludeAttributeStatement(boolean flag) Set whether responses to the authentication request should include an attribute statement.voidSet a condition to determine whether responses to the authentication request should include an attribute statement.voidSets allowed duration between anAuthenticationResultcreation and its reuse for this request.voidSets lookup strategy for the allowed duration between anAuthenticationResultcreation and its reuse for this request.voidsetNameIDFormatPrecedence(Collection<String> formats) Set the name identifier formats to use.voidsetNameIDFormatPrecedenceLookupStrategy(Function<ProfileRequestContext, Collection<String>> strategy) Set a lookup strategy for the name identifier formats to use.voidSet the ordered collection of post-authentication interceptor flows to enable.voidsetPostAuthenticationFlowsLookupStrategy(Function<ProfileRequestContext, Collection<String>> strategy) Set a lookup strategy for the post-authentication interceptor flows to enable.voidsetProxyCount(Integer count) Sets the maximum number of times an assertion may be proxied outbound and/or the maximum number of hops between the relying party and a proxied authentication authority inbound.voidSet a lookup strategy for the maximum number of times an assertion may be proxied outbound and/or the maximum number of hops between the relying party and a proxied authentication authority inbound.voidSetIdPAttributenames to resolve (if resolving attributes).voidsetRequestedIdPAttributeNamesLookupStrategy(Function<ProfileRequestContext, Collection<String>> strategy) Lookup strategy forIdPAttributenames to resolve (if resolving attributes).voidsetResolveAttributes(boolean flag) Set whether attributes should be resolved during the profile.voidSet a condition to determine whether attributes should be resolved during the profile.Methods inherited from class net.shibboleth.idp.saml.saml1.profile.config.impl.AbstractSAML1AssertionProducingProfileConfiguration
getAssertionAudiences, getAssertionLifetime, isIncludeConditionsNotBefore, isSignAssertions, setAdditionalAudiencesForAssertion, setAdditionalAudiencesForAssertionLookupStrategy, setAssertionAudiences, setAssertionAudiencesLookupStrategy, setAssertionLifetime, setAssertionLifetimeLookupStrategy, setIncludeConditionsNotBefore, setIncludeConditionsNotBeforePredicate, setSignAssertions, setSignAssertionsPredicateMethods inherited from class net.shibboleth.idp.saml.saml1.profile.config.impl.AbstractSAML1ArtifactAwareProfileConfiguration
getArtifactConfiguration, setArtifactConfiguration, setArtifactConfigurationLookupStrategyMethods inherited from class net.shibboleth.idp.saml.profile.config.impl.AbstractSAMLProfileConfiguration
getMessageHandler, isSignRequests, isSignResponses, setMessageDecorator, setMessageHandler, setMessageHandlerLookupStrategy, setSignRequests, setSignRequestsPredicate, setSignResponses, setSignResponsesPredicateMethods inherited from class net.shibboleth.idp.profile.config.AbstractInterceptorAwareProfileConfiguration
getInboundInterceptorFlows, getOutboundInterceptorFlows, setInboundInterceptorFlows, setInboundInterceptorFlowsLookupStrategy, setOutboundInterceptorFlows, setOutboundInterceptorFlowsLookupStrategyMethods inherited from class net.shibboleth.profile.config.AbstractConditionalProfileConfiguration
getActivationCondition, setActivationConditionMethods inherited from class net.shibboleth.profile.config.AbstractProfileConfiguration
equals, getDisallowedFeatures, getSecurityConfiguration, hashCode, isFeatureDisallowed, setDisallowedFeatures, setDisallowedFeaturesLookupStrategy, setSecurityConfiguration, setSecurityConfigurationLookupStrategyMethods inherited from class net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent
setIdMethods inherited from class net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent
doInitialize, ensureId, getId, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentExceptionMethods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent
checkComponentActive, checkSetterPreconditions, destroy, doDestroy, initialize, isDestroyed, isInitializedMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.shibboleth.idp.authn.config.AuthenticationProfileConfiguration
isLocalMethods inherited from interface net.shibboleth.shared.component.IdentifiedComponent
getIdMethods inherited from interface net.shibboleth.idp.profile.config.InterceptorAwareProfileConfiguration
getInboundInterceptorFlows, getOutboundInterceptorFlowsMethods inherited from interface net.shibboleth.profile.config.ProfileConfiguration
getDisallowedFeatures, getSecurityConfiguration, isFeatureDisallowedMethods inherited from interface net.shibboleth.saml.profile.config.SAMLAssertionProducingProfileConfiguration
getAssertionAudiences, getAssertionLifetime, isIncludeConditionsNotBefore, isSignAssertionsMethods inherited from interface net.shibboleth.saml.profile.config.SAMLProfileConfiguration
getMessageHandler, isSignRequests, isSignResponses
-
Field Details
-
PROFILE_COUNTER
Name of profile counter.- See Also:
-
resolveAttributesPredicate
Whether attributes should be resolved in the course of the profile. -
requestedIdPAttributeNamesLookupStrategy
@Nonnull private Function<ProfileRequestContext,Collection<String>> requestedIdPAttributeNamesLookupStrategyLookup strategy for requested IdP attribute names to pass into resolver. -
attributeRecipientGroupIDLookupStrategy
Lookup strategy for attribute recipient group ID. -
includeAttributeStatementPredicate
Whether responses to the authentication request should include an attribute statement. -
forceAuthnPredicate
Whether to mandate forced authentication for the request. -
maxAgeLookupStrategy
Lookup function for max-age setting. -
defaultAuthenticationMethodsLookupStrategy
@Nonnull private Function<ProfileRequestContext,Collection<Principal>> defaultAuthenticationMethodsLookupStrategyLookup function to supply default authentication methods. -
authenticationFlowsLookupStrategy
Lookup function to supply authentication flows. -
postAuthenticationFlowsLookupStrategy
@Nonnull private Function<ProfileRequestContext,Collection<String>> postAuthenticationFlowsLookupStrategyLookup function to supply post authentication flows. -
nameIDFormatPrecedenceLookupStrategy
@Nonnull private Function<ProfileRequestContext,Collection<String>> nameIDFormatPrecedenceLookupStrategyLookup function to supply NameIdentifier formats. -
proxyCountLookupStrategy
Lookup function to supply proxyCount property.
-
-
Constructor Details
-
BrowserSSOProfileConfiguration
public BrowserSSOProfileConfiguration()Constructor. -
BrowserSSOProfileConfiguration
Constructor.- Parameters:
profileId- unique ID for this profile
-
-
Method Details
-
isResolveAttributes
- Specified by:
isResolveAttributesin interfaceAttributeResolvingProfileConfiguration
-
setResolveAttributes
public void setResolveAttributes(boolean flag) Set whether attributes should be resolved during the profile.- Parameters:
flag- flag to set
-
setResolveAttributesPredicate
Set a condition to determine whether attributes should be resolved during the profile.- Parameters:
condition- condition to set
-
getRequestedIdPAttributeNames
@Nonnull @Unmodifiable @NotLive public Collection<String> getRequestedIdPAttributeNames(@Nullable ProfileRequestContext profileRequestContext) - Specified by:
getRequestedIdPAttributeNamesin interfaceAttributeResolvingProfileConfiguration
-
setRequestedIdPAttributeNames
SetIdPAttributenames to resolve (if resolving attributes).- Parameters:
names-IdPAttributenames to resolve- Since:
- 5.2.0
-
setRequestedIdPAttributeNamesLookupStrategy
public void setRequestedIdPAttributeNamesLookupStrategy(@Nonnull Function<ProfileRequestContext, Collection<String>> strategy) Lookup strategy forIdPAttributenames to resolve (if resolving attributes).- Parameters:
strategy- lookup strategy- Since:
- 5.2.0
-
getAttributeRecipientGroupID
@Nullable public String getAttributeRecipientGroupID(@Nullable ProfileRequestContext profileRequestContext) - Specified by:
getAttributeRecipientGroupIDin interfaceAttributeResolvingProfileConfiguration
-
setAttributeRecipientGroupID
Set the group of services for which attributes are being resolved.- Parameters:
groupID- group identifier- Since:
- 5.2.0
-
setAttributeRecipientGroupIDLookupStrategy
public void setAttributeRecipientGroupIDLookupStrategy(@Nonnull Function<ProfileRequestContext, String> strategy) Set the lookup strategy for the group of services for which attributes are being resolved.- Parameters:
strategy- lookup strategy- Since:
- 5.2.0
-
isIncludeAttributeStatement
Get whether responses to the authentication request should include an attribute statement.Default is true
- Specified by:
isIncludeAttributeStatementin interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- whether responses to the authentication request should include an attribute statement
-
setIncludeAttributeStatement
public void setIncludeAttributeStatement(boolean flag) Set whether responses to the authentication request should include an attribute statement.- Parameters:
flag- flag to set
-
setIncludeAttributeStatementPredicate
public void setIncludeAttributeStatementPredicate(@Nonnull Predicate<ProfileRequestContext> condition) Set a condition to determine whether responses to the authentication request should include an attribute statement.- Parameters:
condition- condition to set
-
isForceAuthn
Get whether the authentication process should include a proof of user presence.- Specified by:
isForceAuthnin interfaceAuthenticationProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- true iff authentication should require user presence
-
setForceAuthn
public void setForceAuthn(boolean flag) Set whether a fresh user presence proof should be required for this request.- Parameters:
flag- flag to set
-
setForceAuthnPredicate
Set a condition to determine whether a fresh user presence proof should be required for this request.- Parameters:
condition- condition to set
-
getMaxAge
@ConfigurationSetting(name="maxAge") @Nullable public Duration getMaxAge(@Nullable ProfileRequestContext profileRequestContext) Get duration since anAuthenticationResultwas created that allows it to be reused for this request.If null, no constraint is applied.
- Specified by:
getMaxAgein interfaceAuthenticationProfileConfiguration- Parameters:
profileRequestContext- profile request context- Returns:
- allowable duration
-
setMaxAge
Sets allowed duration between anAuthenticationResultcreation and its reuse for this request.- Parameters:
maxAge- allowed duration- Since:
- 5.2.0
-
setMaxAgeLookupStrategy
Sets lookup strategy for the allowed duration between anAuthenticationResultcreation and its reuse for this request.- Parameters:
strategy- lookup strategy- Since:
- 5.2.0
-
getDefaultAuthenticationMethods
@Nonnull @NotLive @Unmodifiable public List<Principal> getDefaultAuthenticationMethods(@Nullable ProfileRequestContext profileRequestContext) Get the default authentication methods to use, expressed as custom principals.- Specified by:
getDefaultAuthenticationMethodsin interfaceAuthenticationProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- default authentication methods to use
-
setDefaultAuthenticationMethods
Set the default authentication methods to use, expressed as custom principals.- Parameters:
methods- default authentication methods to use
-
setDefaultAuthenticationMethodsLookupStrategy
public void setDefaultAuthenticationMethodsLookupStrategy(@Nonnull Function<ProfileRequestContext, Collection<Principal>> strategy) Set a lookup strategy for thegetDefaultAuthenticationMethods(ProfileRequestContext)method.- Parameters:
strategy- lookup strategy- Since:
- 3.3.0
-
getAuthenticationFlows
@Deprecated(since="5.2.0", forRemoval=true) @Nonnull @NotLive @Unmodifiable public Set<String> getAuthenticationFlows(@Nullable ProfileRequestContext profileRequestContext) Deprecated, for removal: This API element is subject to removal in a future version.Get the allowable authentication flows for this profile.The flow IDs returned MUST NOT contain the
AuthenticationFlowDescriptor.FLOW_ID_PREFIXprefix common to all interceptor flows.- Specified by:
getAuthenticationFlowsin interfaceAuthenticationProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- a set of authentication flow IDs to allow
-
setAuthenticationFlows
@Deprecated(since="5.2.0", forRemoval=true) public void setAuthenticationFlows(@Nullable Collection<String> flows) Deprecated, for removal: This API element is subject to removal in a future version.Set the authentication flows to use.- Parameters:
flows- flow identifiers to use
-
setAuthenticationFlowsLookupStrategy
@Deprecated(since="5.2.0", forRemoval=true) public void setAuthenticationFlowsLookupStrategy(@Nonnull Function<ProfileRequestContext, Set<String>> strategy) Deprecated, for removal: This API element is subject to removal in a future version.(since="5.2.0", forRemoval=true)Set a lookup strategy for the authentication flows to use.- Parameters:
strategy- lookup strategy- Since:
- 3.3.0
-
getPostAuthenticationFlows
@Nonnull @NotLive @Unmodifiable public List<String> getPostAuthenticationFlows(@Nullable ProfileRequestContext profileRequestContext) Get an ordered list of post-authentication interceptor flows to run for this profile.The flow IDs returned MUST NOT contain the
ProfileInterceptorFlowDescriptor.FLOW_ID_PREFIXprefix common to all interceptor flows.- Specified by:
getPostAuthenticationFlowsin interfaceAuthenticationProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- a set of interceptor flow IDs to enable
-
setPostAuthenticationFlows
Set the ordered collection of post-authentication interceptor flows to enable.- Parameters:
flows- flow identifiers to enable
-
setPostAuthenticationFlowsLookupStrategy
public void setPostAuthenticationFlowsLookupStrategy(@Nonnull Function<ProfileRequestContext, Collection<String>> strategy) Set a lookup strategy for the post-authentication interceptor flows to enable.- Parameters:
strategy- lookup strategy- Since:
- 3.3.0
-
getNameIDFormatPrecedence
@Nonnull @NotLive @Unmodifiable public List<String> getNameIDFormatPrecedence(@Nullable ProfileRequestContext profileRequestContext) Get the name identifier formats to use.- Specified by:
getNameIDFormatPrecedencein interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- profile request context- Returns:
- the formats to use
-
setNameIDFormatPrecedence
Set the name identifier formats to use.- Parameters:
formats- name identifier formats to use
-
setNameIDFormatPrecedenceLookupStrategy
public void setNameIDFormatPrecedenceLookupStrategy(@Nonnull Function<ProfileRequestContext, Collection<String>> strategy) Set a lookup strategy for the name identifier formats to use.- Parameters:
strategy- lookup strategy- Since:
- 3.3.0
-
getProxyCount
Gets the maximum number of times an assertion may be proxied outbound and/or the maximum number of hops between the relying party and a proxied authentication authority inbound.- Specified by:
getProxyCountin interfaceAuthenticationProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- maximum number of times an assertion or authentication may be proxied
-
setProxyCount
Sets the maximum number of times an assertion may be proxied outbound and/or the maximum number of hops between the relying party and a proxied authentication authority inbound.- Parameters:
count- proxy count- Since:
- 4.0.0
-
setProxyCountLookupStrategy
Set a lookup strategy for the maximum number of times an assertion may be proxied outbound and/or the maximum number of hops between the relying party and a proxied authentication authority inbound.- Parameters:
strategy- lookup strategy- Since:
- 4.0.0
-