Class BrowserSSOProfileConfiguration
- All Implemented Interfaces:
AuthenticationProfileConfiguration
,AttributeResolvingProfileConfiguration
,ConditionalProfileConfiguration
,ProfileConfiguration
,SAMLArtifactAwareProfileConfiguration
,SAMLArtifactConsumerProfileConfiguration
,SAMLProfileConfiguration
,SAML2ProfileConfiguration
,Component
,DestructableComponent
,IdentifiableComponent
,IdentifiedComponent
,InitializableComponent
- Direct Known Subclasses:
ECPProfileConfiguration
,SSOSProfileConfiguration
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Predicate<ProfileRequestContext>
The predicate used to determine if produced assertions may be delegated.private Function<ProfileRequestContext,
Set<String>> Lookup function to supply authentication flows.private Function<ProfileRequestContext,
String> Lookup function for requested AC operator.Lookup function to supply the strategy function for translating fully-generic data.Lookup function to supply the strategy function for translating SAML 2.0 AuthnContext data.private Predicate<ProfileRequestContext>
Whether to compare client and assertion addresses on inbound SSO.static final Long
Default maximum delegation chain length.Lookup function to supply default authentication methods.static final int
Bit constant for RequestedAuthnContext feature.static final int
Bit constant for Scoping feature.private Predicate<ProfileRequestContext>
Whether to mandate forced authentication for the request.private Predicate<ProfileRequestContext>
Whether to ignore Scoping elements within AuthnRequest.private Predicate<ProfileRequestContext>
Whether responses to the authentication request should include an attribute statement.private Function<ProfileRequestContext,
Duration> Lookup function to supply maximum session lifetime.private Function<ProfileRequestContext,
Duration> Lookup function to supply maximum time since inbound AuthnInstant.private Function<ProfileRequestContext,
Long> Lookup function to supply maximum delegation chain length.private Function<ProfileRequestContext,
Collection<String>> Lookup function to supply NameID formats.private Function<ProfileRequestContext,
Collection<String>> Lookup function to supply post authentication flows.static final String
ID for this profile configuration.private Predicate<ProfileRequestContext>
Whether authentication results should carry the proxied AuthnInstant.private Predicate<ProfileRequestContext>
Whether to require requests be signed.private Predicate<ProfileRequestContext>
Whether attributes should be resolved in the course of the profile.private Predicate<ProfileRequestContext>
Whether the response endpoint should be validated if the request is signed.private Predicate<ProfileRequestContext>
The predicate used to determine whether to suppressAuthenticatingAuthority
when possible.Fields inherited from class net.shibboleth.idp.saml.profile.config.AbstractSAMLProfileConfiguration
DEFAULT_ASSERTION_LIFETIME
Fields inherited from class net.shibboleth.idp.profile.config.AbstractProfileConfiguration
DEFAULT_DISALLOWED_FEATURES
-
Constructor Summary
ConstructorsModifierConstructorDescriptionConstructor.protected
BrowserSSOProfileConfiguration
(String profileId) Constructor. -
Method Summary
Modifier and TypeMethodDescriptiongetAuthenticationFlows
(ProfileRequestContext profileRequestContext) Get the allowable authentication flows for this profile.getAuthnContextComparison
(ProfileRequestContext profileRequestContext) Get the comparison operator to use when issuing SAML requests containing requested context classes.getAuthnContextTranslationStrategy
(ProfileRequestContext profileRequestContext) Get the function to use to translate an inbound proxied SAML 2.0AuthnContext
into the appropriate set of customPrincipal
objects to populate into the subject.getAuthnContextTranslationStrategyEx
(ProfileRequestContext profileRequestContext) Get the function to use to translate an inbound proxied response into the appropriate set of customPrincipal
objects to populate into the subject.getDefaultAuthenticationMethods
(ProfileRequestContext profileRequestContext) Get the default authentication methods to use, expressed as custom principals.getMaximumSPSessionLifetime
(ProfileRequestContext profileRequestContext) Get the maximum amount of time the service provider should maintain a session for the user based on the authentication assertion.getMaximumTimeSinceAuthn
(ProfileRequestContext profileRequestContext) Get the maximum amount of time allowed to have elapsed since an incoming AuthnInstant.long
getMaximumTokenDelegationChainLength
(ProfileRequestContext profileRequestContext) Get the limits on the total number of delegates that may be derived from the initial SAML token.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.boolean
isAllowDelegation
(ProfileRequestContext profileRequestContext) Get the predicate used to determine if produced assertions may be delegated.boolean
isCheckAddress
(ProfileRequestContext profileRequestContext) Get whether the client's address must match the address in an inboundSubjectLocality
element during inbound SSO.boolean
isForceAuthn
(ProfileRequestContext profileRequestContext) Get whether the authentication process should include a proof of user presence.boolean
isIgnoreScoping
(ProfileRequestContext profileRequestContext) Gets whether Scoping elements in requests should be ignored/omitted.boolean
isIncludeAttributeStatement
(ProfileRequestContext profileRequestContext) Get whether responses to the authentication request should include an attribute statement.boolean
isProxiedAuthnInstant
(ProfileRequestContext profileRequestContext) Gets whether authentication results produced by use of this profile should carry the proxied assertion's AuthnInstant, rather than the current time.boolean
isRequireSignedRequests
(ProfileRequestContext profileRequestContext) Get whether to require signed requests.boolean
isResolveAttributes
(ProfileRequestContext profileRequestContext) Get whether to resolve attributes.boolean
isSkipEndpointValidationWhenSigned
(ProfileRequestContext profileRequestContext) Get condition to determine whether the response endpoint should be validated if the request is signed.boolean
isSuppressAuthenticatingAuthority
(ProfileRequestContext profileRequestContext) Gets whether to suppress inclusion ofAuthenticatingAuthority
element.void
setAllowDelegation
(boolean flag) Set whether produced assertions may be delegated.void
Set the predicate used to determine if produced assertions may be delegated.void
setAuthenticationFlows
(Collection<String> flows) Set the authentication flows to use.void
Set a lookup strategy for the authentication flows to use.void
Set the comparison operator to use when issuing SAML requests containing requested context classes.void
Set a lookup strategy for the comparison operator to use when issuing SAML requests containing requested context classes.void
Set the function to use to translate an inbound proxied SAML 2.0AuthnContext
into the appropriate set of customPrincipal
objects to populate into the subject.void
setAuthnContextTranslationStrategyEx
(Function<ProfileRequestContext, Collection<Principal>> strategy) Set the function to use to translate an inbound proxied response into the appropriate set of customPrincipal
objects to populate into the subject.void
setAuthnContextTranslationStrategyExLookupStrategy
(Function<ProfileRequestContext, Function<ProfileRequestContext, Collection<Principal>>> strategy) Set a lookup strategy for the function to use to translate an inbound proxied response into the appropriate set of customPrincipal
objects to populate into the subject.void
setAuthnContextTranslationStrategyLookupStrategy
(Function<ProfileRequestContext, Function<AuthnContext, Collection<Principal>>> strategy) Set a lookup strategy for the function to use to translate an inbound proxied SAML 2.0AuthnContext
into the appropriate set of customPrincipal
objects to populate into the subject.void
setCheckAddress
(boolean flag) Set whether the client's address must match the address in an inboundSubjectLocality
element during inbound SSO.void
setCheckAddressPredicate
(Predicate<ProfileRequestContext> condition) Set a condition to determine whether the client's address must match the address in an inboundSubjectLocality
element during inbound SSO.void
Set the default authentication contexts to use, expressed as custom principals.void
setDefaultAuthenticationMethodsLookupStrategy
(Function<ProfileRequestContext, Collection<AuthnContextClassRefPrincipal>> strategy) Set a lookup strategy for the authentication contexts to use, expressed as custom principals.void
setForceAuthn
(boolean flag) Set whether a fresh user presence proof should be required for this request.void
setForceAuthnPredicate
(Predicate<ProfileRequestContext> condition) Set a condition to determine whether a fresh user presence proof should be required for this request.void
setIgnoreScoping
(boolean flag) Sets whether Scoping elements in requests should be ignored/omitted.void
setIgnoreScopingPredicate
(Predicate<ProfileRequestContext> condition) Sets a condition to determine whether Scoping elements in requests should be ignored/omitted.void
setIncludeAttributeStatement
(boolean flag) Set whether responses to the authentication request should include an attribute statement.void
Set a condition to determine whether responses to the authentication request should include an attribute statement.void
setMaximumSPSessionLifetime
(Duration lifetime) Set the maximum amount of time the service provider should maintain a session for the user based on the authentication assertion.void
Set a lookup strategy for the maximum amount of time the service provider should maintain a session for the user.void
setMaximumTimeSinceAuthn
(Duration amount) Set the maximum amount of time allowed to have elapsed since an incoming AuthnInstant.void
Set a lookup strategy for the maximum amount of time allowed to have elapsed since an incoming AuthnInstant.void
setMaximumTokenDelegationChainLength
(long length) Set the limits on the total number of delegates that may be derived from the initial SAML token.void
Set a lookup strategy for the limits on the total number of delegates that may be derived from the initial SAML token.void
setNameIDFormatPrecedence
(Collection<String> formats) Set the name identifier formats to use.void
setNameIDFormatPrecedenceLookupStrategy
(Function<ProfileRequestContext, Collection<String>> strategy) Set a lookup strategy for the name identifier formats to use.void
Set the ordered collection of post-authentication interceptor flows to enable.void
setPostAuthenticationFlowsLookupStrategy
(Function<ProfileRequestContext, Collection<String>> strategy) Set a lookup strategy for the post-authentication interceptor flows to enable.void
setProxiedAuthnInstant
(boolean flag) Sets whether authentication results produced by use of this profile should carry the proxied assertion's AuthnInstant, rather than the current time.void
Sets condition to determine whether authentication results produced by use of this profile should carry the proxied assertion's AuthnInstant, rather than the current time.void
setRequireSignedRequests
(boolean flag) Set whether to require signed requests.void
Set a condition to determine whether to require signed requests.void
setResolveAttributes
(boolean flag) Set whether attributes should be resolved during the profile.void
Set a condition to determine whether attributes should be resolved during the profile.void
setSkipEndpointValidationWhenSigned
(boolean flag) Set whether the response endpoint should be validated if the request is signed.void
Set condition to determine whether the response endpoint should be validated if the request is signed.void
setSuppressAuthenticatingAuthority
(boolean flag) Sets whether to suppress inclusion ofAuthenticatingAuthority
element.void
Sets condition to determine whether to suppress inclusion ofAuthenticatingAuthority
element.Methods inherited from class net.shibboleth.idp.saml.saml2.profile.config.AbstractSAML2ArtifactAwareProfileConfiguration
getArtifactConfiguration, isClientTLSArtifactRequests, isSignArtifactRequests, setArtifactConfiguration, setArtifactConfigurationLookupStrategy, setClientTLSArtifactRequests, setClientTLSArtifactRequestsPredicate, setSignArtifactRequests, setSignArtifactRequestsPredicate
Methods inherited from class net.shibboleth.idp.saml.saml2.profile.config.AbstractSAML2ProfileConfiguration
getProxyAudiences, getProxyCount, isEncryptAssertions, isEncryptAttributes, isEncryptionOptional, isEncryptNameIDs, isIgnoreRequestSignatures, setEncryptAssertions, setEncryptAssertionsPredicate, setEncryptAttributes, setEncryptAttributesPredicate, setEncryptionOptional, setEncryptionOptionalPredicate, setEncryptNameIDs, setEncryptNameIDsPredicate, setIgnoreRequestSignatures, setIgnoreRequestSignaturesPredicate, setProxyAudiences, setProxyAudiencesLookupStrategy, setProxyCount, setProxyCountLookupStrategy
Methods 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, setSignResponsesPredicate
Methods inherited from class net.shibboleth.idp.profile.config.AbstractConditionalProfileConfiguration
getActivationCondition, setActivationCondition
Methods 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, setSecurityConfigurationLookupStrategy
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
setId
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
doInitialize, getId
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, initialize, isDestroyed, isInitialized
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.shibboleth.idp.authn.config.AuthenticationProfileConfiguration
getProxyCount, isLocal
Methods inherited from interface net.shibboleth.utilities.java.support.component.IdentifiedComponent
getId
Methods inherited from interface net.shibboleth.idp.profile.config.ProfileConfiguration
getInboundInterceptorFlows, getOutboundInterceptorFlows, getSecurityConfiguration
Methods 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:
-
DEFAULT_DELEGATION_CHAIN_LENGTH
Default maximum delegation chain length. -
FEATURE_AUTHNCONTEXT
public static final int FEATURE_AUTHNCONTEXTBit constant for RequestedAuthnContext feature.- See Also:
-
FEATURE_SCOPING
public static final int FEATURE_SCOPINGBit constant for Scoping feature.- 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. -
ignoreScoping
Whether to ignore Scoping elements within AuthnRequest. -
forceAuthnPredicate
Whether to mandate forced authentication for the request. -
checkAddressPredicate
Whether to compare client and assertion addresses on inbound SSO. -
skipEndpointValidationWhenSignedPredicate
Whether the response endpoint should be validated if the request is signed. -
proxiedAuthnInstantPredicate
Whether authentication results should carry the proxied AuthnInstant. -
suppressAuthenticatingAuthorityPredicate
The predicate used to determine whether to suppressAuthenticatingAuthority
when possible. -
requireSignedRequestsPredicate
Whether to require requests be signed. -
maximumSPSessionLifetimeLookupStrategy
Lookup function to supply maximum session lifetime. -
maximumTimeSinceAuthnLookupStrategy
Lookup function to supply maximum time since inbound AuthnInstant. -
allowDelegationPredicate
The predicate used to determine if produced assertions may be delegated. -
maximumTokenDelegationChainLengthLookupStrategy
@Nonnull private Function<ProfileRequestContext,Long> maximumTokenDelegationChainLengthLookupStrategyLookup function to supply maximum delegation chain length. -
authnContextTranslationStrategyLookupStrategy
@Nonnull private Function<ProfileRequestContext,Function<AuthnContext, authnContextTranslationStrategyLookupStrategyCollection<Principal>>> Lookup function to supply the strategy function for translating SAML 2.0 AuthnContext data. -
authnContextTranslationStrategyExLookupStrategy
@Nonnull private Function<ProfileRequestContext,Function<ProfileRequestContext, authnContextTranslationStrategyExLookupStrategyCollection<Principal>>> Lookup function to supply the strategy function for translating fully-generic data. -
authnContextComparisonLookupStrategy
Lookup function for requested AC operator. -
defaultAuthenticationContextsLookupStrategy
@Nonnull private Function<ProfileRequestContext,Collection<AuthnContextClassRefPrincipal>> defaultAuthenticationContextsLookupStrategyLookup 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 NameID formats.
-
-
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:
isResolveAttributes
in 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
-
isIgnoreScoping
Gets whether Scoping elements in requests should be ignored/omitted.- Parameters:
profileRequestContext
- current profile request context- Returns:
- whether Scoping elements in requests should be ignored/omitted
- Since:
- 4.0.0
-
setIgnoreScoping
public void setIgnoreScoping(boolean flag) Sets whether Scoping elements in requests should be ignored/omitted.Defaults to false.
- Parameters:
flag
- flag to set- Since:
- 4.0.0
-
setIgnoreScopingPredicate
Sets a condition to determine whether Scoping elements in requests should be ignored/omitted.- Parameters:
condition
- condition to set- Since:
- 4.0.0
-
isForceAuthn
Get whether the authentication process should include a proof of user presence.- Specified by:
isForceAuthn
in 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
-
isCheckAddress
Get whether the client's address must match the address in an inboundSubjectLocality
element during inbound SSO.- Parameters:
profileRequestContext
- current profile request context- Returns:
- whether to compare addresses
- Since:
- 4.0.0
-
setCheckAddress
public void setCheckAddress(boolean flag) Set whether the client's address must match the address in an inboundSubjectLocality
element during inbound SSO.- Parameters:
flag
- flag to set- Since:
- 4.0.0
-
setCheckAddressPredicate
Set a condition to determine whether the client's address must match the address in an inboundSubjectLocality
element during inbound SSO.- Parameters:
condition
- condition to set- Since:
- 4.0.0
-
isSkipEndpointValidationWhenSigned
public boolean isSkipEndpointValidationWhenSigned(@Nullable ProfileRequestContext profileRequestContext) Get condition to determine whether the response endpoint should be validated if the request is signed.- Parameters:
profileRequestContext
- current profile request context- Returns:
- condition
- Since:
- 4.0.0
-
setSkipEndpointValidationWhenSigned
public void setSkipEndpointValidationWhenSigned(boolean flag) Set whether the response endpoint should be validated if the request is signed.- Parameters:
flag
- flag to set- Since:
- 3.4.0
-
setSkipEndpointValidationWhenSignedPredicate
public void setSkipEndpointValidationWhenSignedPredicate(@Nonnull Predicate<ProfileRequestContext> condition) Set condition to determine whether the response endpoint should be validated if the request is signed.- Parameters:
condition
- condition to set- Since:
- 3.4.0
-
isSuppressAuthenticatingAuthority
public boolean isSuppressAuthenticatingAuthority(@Nullable ProfileRequestContext profileRequestContext) Gets whether to suppress inclusion ofAuthenticatingAuthority
element.Defaults to false.
- Parameters:
profileRequestContext
- current profile request context- Returns:
- true iff the element should be suppressed when possible
- Since:
- 4.2.0
-
setSuppressAuthenticatingAuthority
public void setSuppressAuthenticatingAuthority(boolean flag) Sets whether to suppress inclusion ofAuthenticatingAuthority
element.Defaults to false.
- Parameters:
flag
- flag to set- Since:
- 4.2.0
-
setSuppressAuthenticatingAuthorityPredicate
public void setSuppressAuthenticatingAuthorityPredicate(@Nonnull Predicate<ProfileRequestContext> condition) Sets condition to determine whether to suppress inclusion ofAuthenticatingAuthority
element.- Parameters:
condition
- condition to set- Since:
- 4.2.0
-
isProxiedAuthnInstant
Gets whether authentication results produced by use of this profile should carry the proxied assertion's AuthnInstant, rather than the current time.Defaults to true.
- Parameters:
profileRequestContext
- current profile request context- Returns:
- whether to proxy across the inbound AuthnInstant
- Since:
- 4.0.0
-
setProxiedAuthnInstant
public void setProxiedAuthnInstant(boolean flag) Sets whether authentication results produced by use of this profile should carry the proxied assertion's AuthnInstant, rather than the current time.- Parameters:
flag
- flag to set- Since:
- 4.0.0
-
setProxiedAuthnInstantPredicate
Sets condition to determine whether authentication results produced by use of this profile should carry the proxied assertion's AuthnInstant, rather than the current time.- Parameters:
condition
- condition to set- Since:
- 4.0.0
-
isRequireSignedRequests
Get whether to require signed requests.- Parameters:
profileRequestContext
- current profile request context- Returns:
- whether to require signed requests
- Since:
- 4.3.0
-
setRequireSignedRequests
public void setRequireSignedRequests(boolean flag) Set whether to require signed requests.- Parameters:
flag
- flag to set- Since:
- 4.3.0
-
setRequireSignedRequestsPredicate
Set a condition to determine whether to require signed requests.- Parameters:
condition
- condition to set- Since:
- 4.3.0
-
getMaximumSPSessionLifetime
@Nullable public Duration getMaximumSPSessionLifetime(@Nullable ProfileRequestContext profileRequestContext) Get the maximum amount of time the service provider should maintain a session for the user based on the authentication assertion. A null or 0 is interpreted as an unlimited lifetime.- Parameters:
profileRequestContext
- current profile request context- Returns:
- max lifetime of service provider should maintain a session
-
setMaximumSPSessionLifetime
Set the maximum amount of time the service provider should maintain a session for the user based on the authentication assertion. A null or 0 is interpreted as an unlimited lifetime.- Parameters:
lifetime
- max lifetime of service provider should maintain a session
-
setMaximumSPSessionLifetimeLookupStrategy
public void setMaximumSPSessionLifetimeLookupStrategy(@Nonnull Function<ProfileRequestContext, Duration> strategy) Set a lookup strategy for the maximum amount of time the service provider should maintain a session for the user.- Parameters:
strategy
- lookup strategy- Since:
- 3.4.0
-
getMaximumTimeSinceAuthn
@Nullable public Duration getMaximumTimeSinceAuthn(@Nullable ProfileRequestContext profileRequestContext) Get the maximum amount of time allowed to have elapsed since an incoming AuthnInstant.A null or 0 is interpreted as an unlimited amount.
- Parameters:
profileRequestContext
- current profile request context- Returns:
- max time since inbound AuthnInstant
- Since:
- 4.0.0
-
setMaximumTimeSinceAuthn
Set the maximum amount of time allowed to have elapsed since an incoming AuthnInstant.A null or 0 is interpreted as an unlimited amount.
- Parameters:
amount
- max time to allow- Since:
- 4.0.0
-
setMaximumTimeSinceAuthnLookupStrategy
public void setMaximumTimeSinceAuthnLookupStrategy(@Nonnull Function<ProfileRequestContext, Duration> strategy) Set a lookup strategy for the maximum amount of time allowed to have elapsed since an incoming AuthnInstant.- Parameters:
strategy
- lookup strategy- Since:
- 4.0.0
-
isAllowDelegation
Get the predicate used to determine if produced assertions may be delegated.- Parameters:
profileRequestContext
- current profile request context- Returns:
- predicate used to determine if produced assertions may be delegated
-
setAllowDelegation
public void setAllowDelegation(boolean flag) Set whether produced assertions may be delegated.- Parameters:
flag
- flag to set
-
setAllowDelegationPredicate
Set the predicate used to determine if produced assertions may be delegated.- Parameters:
predicate
- used to determine if produced assertions may be delegated
-
getMaximumTokenDelegationChainLength
@NonNegative public long getMaximumTokenDelegationChainLength(@Nullable ProfileRequestContext profileRequestContext) Get the limits on the total number of delegates that may be derived from the initial SAML token.- Parameters:
profileRequestContext
- current profile request context- Returns:
- the limit on the total number of delegates that may be derived from the initial SAML token
-
setMaximumTokenDelegationChainLength
Set the limits on the total number of delegates that may be derived from the initial SAML token.- Parameters:
length
- the limit on the total number of delegates that may be derived from the initial SAML token
-
setMaximumTokenDelegationChainLengthLookupStrategy
public void setMaximumTokenDelegationChainLengthLookupStrategy(@Nonnull Function<ProfileRequestContext, Long> strategy) Set a lookup strategy for the limits on the total number of delegates that may be derived from the initial SAML token.- Parameters:
strategy
- lookup strategy- Since:
- 3.4.0
-
getAuthnContextTranslationStrategy
@Nullable public Function<AuthnContext,Collection<Principal>> getAuthnContextTranslationStrategy(@Nullable ProfileRequestContext profileRequestContext) Get the function to use to translate an inbound proxied SAML 2.0AuthnContext
into the appropriate set of customPrincipal
objects to populate into the subject.- Parameters:
profileRequestContext
- current profile request context- Returns:
- translation function
- Since:
- 4.0.0
-
setAuthnContextTranslationStrategy
public void setAuthnContextTranslationStrategy(@Nullable Function<AuthnContext, Collection<Principal>> strategy) Set the function to use to translate an inbound proxied SAML 2.0AuthnContext
into the appropriate set of customPrincipal
objects to populate into the subject.- Parameters:
strategy
- translation function- Since:
- 4.0.0
-
setAuthnContextTranslationStrategyLookupStrategy
public void setAuthnContextTranslationStrategyLookupStrategy(@Nonnull Function<ProfileRequestContext, Function<AuthnContext, Collection<Principal>>> strategy) Set a lookup strategy for the function to use to translate an inbound proxied SAML 2.0AuthnContext
into the appropriate set of customPrincipal
objects to populate into the subject.- Parameters:
strategy
- lookup strategy- Since:
- 4.0.0
-
getAuthnContextTranslationStrategyEx
@Nullable public Function<ProfileRequestContext,Collection<Principal>> getAuthnContextTranslationStrategyEx(@Nullable ProfileRequestContext profileRequestContext) Get the function to use to translate an inbound proxied response into the appropriate set of customPrincipal
objects to populate into the subject.This differs from the original in that the input is the entire
ProfileRequestContext
of the proxied authentication state rather than the SAMLAuthnContext
directly.- Parameters:
profileRequestContext
- current profile request context- Returns:
- translation function
- Since:
- 4.1.0
-
setAuthnContextTranslationStrategyEx
public void setAuthnContextTranslationStrategyEx(@Nullable Function<ProfileRequestContext, Collection<Principal>> strategy) Set the function to use to translate an inbound proxied response into the appropriate set of customPrincipal
objects to populate into the subject.This differs from the original in that the input is the entire
ProfileRequestContext
of the proxied authentication state rather than the SAMLAuthnContext
directly.- Parameters:
strategy
- translation function- Since:
- 4.1.0
-
setAuthnContextTranslationStrategyExLookupStrategy
public void setAuthnContextTranslationStrategyExLookupStrategy(@Nonnull Function<ProfileRequestContext, Function<ProfileRequestContext, Collection<Principal>>> strategy) Set a lookup strategy for the function to use to translate an inbound proxied response into the appropriate set of customPrincipal
objects to populate into the subject.This differs from the original in that the input is the entire
ProfileRequestContext
of the proxied authentication state rather than the SAMLAuthnContext
directly.- Parameters:
strategy
- lookup strategy- Since:
- 4.1.0
-
getAuthnContextComparison
@Nullable public AuthnContextComparisonTypeEnumeration getAuthnContextComparison(@Nullable ProfileRequestContext profileRequestContext) Get the comparison operator to use when issuing SAML requests containing requested context classes.- Parameters:
profileRequestContext
- profile request context- Returns:
- comparison value or null
- Since:
- 4.0.0
-
setAuthnContextComparison
Set the comparison operator to use when issuing SAML requests containing requested context classes.- Parameters:
comparison
- comparison value or null- Since:
- 4.0.0
-
setAuthnContextComparisonLookupStrategy
public void setAuthnContextComparisonLookupStrategy(@Nonnull Function<ProfileRequestContext, String> strategy) Set a lookup strategy for the comparison operator to use when issuing SAML requests containing requested context classes.- Parameters:
strategy
- lookup strategy- Since:
- 4.0.0
-
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:
getDefaultAuthenticationMethods
in interfaceAuthenticationProfileConfiguration
- Parameters:
profileRequestContext
- current profile request context- Returns:
- default authentication methods to use
-
setDefaultAuthenticationMethods
public void setDefaultAuthenticationMethods(@Nullable @NonnullElements Collection<AuthnContextClassRefPrincipal> contexts) Set the default authentication contexts to use, expressed as custom principals.- Parameters:
contexts
- default authentication contexts to use
-
setDefaultAuthenticationMethodsLookupStrategy
public void setDefaultAuthenticationMethodsLookupStrategy(@Nonnull Function<ProfileRequestContext, Collection<AuthnContextClassRefPrincipal>> strategy) Set a lookup strategy for the authentication contexts to use, expressed as custom principals.- 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_PREFIX
prefix common to all interceptor flows.- Specified by:
getAuthenticationFlows
in 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_PREFIX
prefix common to all interceptor flows.- Specified by:
getPostAuthenticationFlows
in 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:
- 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
-