Class BrowserSSOProfileConfiguration
java.lang.Object
net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
net.shibboleth.idp.profile.config.AbstractProfileConfiguration
net.shibboleth.idp.profile.config.AbstractConditionalProfileConfiguration
net.shibboleth.idp.saml.profile.config.AbstractSAMLProfileConfiguration
net.shibboleth.idp.saml.saml1.profile.config.AbstractSAML1ArtifactAwareProfileConfiguration
net.shibboleth.idp.saml.saml1.profile.config.BrowserSSOProfileConfiguration
- All Implemented Interfaces:
AuthenticationProfileConfiguration,AttributeResolvingProfileConfiguration,ConditionalProfileConfiguration,ProfileConfiguration,SAMLArtifactAwareProfileConfiguration,SAMLProfileConfiguration,SAML1ProfileConfiguration,Component,DestructableComponent,IdentifiableComponent,IdentifiedComponent,InitializableComponent
public class BrowserSSOProfileConfiguration
extends AbstractSAML1ArtifactAwareProfileConfiguration
implements AuthenticationProfileConfiguration, AttributeResolvingProfileConfiguration
Configuration for SAML 1 Browser SSO profile requests.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Function<ProfileRequestContext,Set<String>> Lookup function to supply authentication flows.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,Collection<String>> Lookup function to supply NameIdentifier formats.private Function<ProfileRequestContext,Collection<String>> Lookup function to supply post authentication flows.static final StringID for this profile configuration.private Function<ProfileRequestContext,Integer> Lookup function to supply proxyCount property.private Predicate<ProfileRequestContext>Whether attributes should be resolved in the course of the profile.Fields inherited from class net.shibboleth.idp.saml.profile.config.AbstractSAMLProfileConfiguration
DEFAULT_ASSERTION_LIFETIMEFields inherited from class net.shibboleth.idp.profile.config.AbstractProfileConfiguration
DEFAULT_DISALLOWED_FEATURES -
Constructor Summary
ConstructorsModifierConstructorDescriptionConstructor.protectedBrowserSSOProfileConfiguration(String profileId) Constructor. -
Method Summary
Modifier and TypeMethodDescriptiongetAuthenticationFlows(ProfileRequestContext profileRequestContext) Get the allowable authentication flows for this profile.getDefaultAuthenticationMethods(ProfileRequestContext profileRequestContext) Get the default authentication methods to use, expressed as custom principals.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.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) Get whether to resolve attributes.voidsetAuthenticationFlows(Collection<String> flows) Set the authentication flows to use.voidSet a lookup strategy for the authentication flows to use.voidSet the default authentication methods to use, expressed as custom principals.voidsetDefaultAuthenticationMethodsLookupStrategy(Function<ProfileRequestContext, Collection<AuthenticationMethodPrincipal>> 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.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.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.AbstractSAML1ArtifactAwareProfileConfiguration
getArtifactConfiguration, setArtifactConfiguration, setArtifactConfigurationLookupStrategyMethods inherited from class net.shibboleth.idp.saml.profile.config.AbstractSAMLProfileConfiguration
getAdditionalAudiencesForAssertion, getAssertionLifetime, isIncludeConditionsNotBefore, isSignAssertions, isSignRequests, isSignResponses, setAdditionalAudiencesForAssertion, setAdditionalAudiencesForAssertionLookupStrategy, setAssertionLifetime, setAssertionLifetimeLookupStrategy, setIncludeConditionsNotBefore, setIncludeConditionsNotBeforePredicate, setSignAssertions, setSignAssertionsPredicate, setSignRequests, setSignRequestsPredicate, setSignResponses, setSignResponsesPredicateMethods inherited from class net.shibboleth.idp.profile.config.AbstractConditionalProfileConfiguration
getActivationCondition, setActivationConditionMethods inherited from class net.shibboleth.idp.profile.config.AbstractProfileConfiguration
equals, getDisallowedFeatures, getInboundInterceptorFlows, getOutboundInterceptorFlows, getSecurityConfiguration, hashCode, isFeatureDisallowed, setDisallowedFeatures, setDisallowedFeaturesLookupStrategy, setInboundFlowsLookupStrategy, setInboundInterceptorFlows, setInboundInterceptorFlowsLookupStrategy, setOutboundFlowsLookupStrategy, setOutboundInterceptorFlows, setOutboundInterceptorFlowsLookupStrategy, setSecurityConfiguration, setSecurityConfigurationLookupStrategyMethods inherited from class net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
setIdMethods inherited from class net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
doInitialize, getIdMethods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
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.utilities.java.support.component.IdentifiedComponent
getIdMethods inherited from interface net.shibboleth.idp.profile.config.ProfileConfiguration
getInboundInterceptorFlows, getOutboundInterceptorFlows, getSecurityConfigurationMethods inherited from interface net.shibboleth.idp.saml.profile.config.SAMLProfileConfiguration
getAdditionalAudiencesForAssertion, getAssertionLifetime, isIncludeConditionsNotBefore, isSignAssertions, isSignRequests, isSignResponses
-
Field Details
-
PROFILE_ID
ID for this profile configuration.- See Also:
-
resolveAttributesPredicate
Whether attributes should be resolved in the course of the profile. -
includeAttributeStatementPredicate
Whether responses to the authentication request should include an attribute statement. -
forceAuthnPredicate
Whether to mandate forced authentication for the request. -
defaultAuthenticationMethodsLookupStrategy
@Nonnull private Function<ProfileRequestContext,Collection<AuthenticationMethodPrincipal>> 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
Get whether to resolve attributes.- Specified by:
isResolveAttributesin interfaceAttributeResolvingProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- true iff resolution should be done
-
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
-
isIncludeAttributeStatement
Get whether responses to the authentication request should include an attribute statement.Default is true
- 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
-
getDefaultAuthenticationMethods
@Nonnull @NonnullElements @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
public void setDefaultAuthenticationMethods(@Nullable @NonnullElements Collection<AuthenticationMethodPrincipal> methods) 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<AuthenticationMethodPrincipal>> strategy) Set a lookup strategy for thegetDefaultAuthenticationMethods(ProfileRequestContext)method.- Parameters:
strategy- lookup strategy- Since:
- 3.3.0
-
getAuthenticationFlows
@Nonnull @NonnullElements @NotLive @Unmodifiable public Set<String> getAuthenticationFlows(@Nullable ProfileRequestContext profileRequestContext) 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
Set the authentication flows to use.- Parameters:
flows- flow identifiers to use
-
setAuthenticationFlowsLookupStrategy
public void setAuthenticationFlowsLookupStrategy(@Nonnull Function<ProfileRequestContext, Set<String>> strategy) Set a lookup strategy for the authentication flows to use.- Parameters:
strategy- lookup strategy- Since:
- 3.3.0
-
getPostAuthenticationFlows
@Nonnull @NonnullElements @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 @NonnullElements @NotLive @Unmodifiable public List<String> getNameIDFormatPrecedence(@Nullable ProfileRequestContext profileRequestContext) Get the name identifier formats to use.- 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
-