Class BrowserSSOProfileConfiguration
- All Implemented Interfaces:
AuthenticationProfileConfiguration,InterceptorAwareProfileConfiguration,BrowserSSOProfileConfiguration,SAMLProfileConfiguration,BrowserSSOProfileConfiguration,AttributeResolvingProfileConfiguration,ConditionalProfileConfiguration,ProfileConfiguration,SAMLArtifactAwareProfileConfiguration,SAMLArtifactConsumerProfileConfiguration,SAMLAssertionConsumingProfileConfiguration,SAMLAssertionProducingProfileConfiguration,SAMLProfileConfiguration,BrowserSSOProfileConfiguration,SAML2AssertionProducingProfileConfiguration,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,Integer> Lookup function to supply AttributeConsumingServiceIndex in request.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.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 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 StringName of profile counter.private Predicate<ProfileRequestContext>Whether authentication results should carry the proxied AuthnInstant.private Function<ProfileRequestContext,Collection<String>> Lookup function to supply proxy audiences.private Function<ProfileRequestContext,Integer> Lookup function to supply proxyCount property.private Predicate<ProfileRequestContext>Whether the FriendlyName attribute should be randomized when encoding Attributes.Lookup function to supply RequestedAttributes in request.private Predicate<ProfileRequestContext>Whether to require assertions be signed.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 Function<ProfileRequestContext,String> Lookup function to supply SPNameQualifier in request.private Predicate<ProfileRequestContext>The predicate used to determine whether to suppressAuthenticatingAuthoritywhen possible.Fields inherited from interface net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfiguration
DEFAULT_DELEGATION_CHAIN_LENGTHFields inherited from interface net.shibboleth.saml.saml2.profile.config.BrowserSSOProfileConfiguration
FEATURE_AUTHNCONTEXT, FEATURE_FORCEAUTHN, FEATURE_NAMEIDFORMAT, FEATURE_SCOPING, FEATURE_SPNAMEQUALIFIER, 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 TypeMethodDescriptiongetAttributeIndex(ProfileRequestContext profileRequestContext) getAuthenticationFlows(ProfileRequestContext profileRequestContext) Get the allowable authentication flows for this profile.getAuthnContextComparison(ProfileRequestContext profileRequestContext) getAuthnContextTranslationStrategy(ProfileRequestContext profileRequestContext) Get the function to use to translate an inbound proxied SAML 2.0AuthnContextinto the appropriate set of customPrincipalobjects to populate into the subject.getAuthnContextTranslationStrategyEx(ProfileRequestContext profileRequestContext) Get the function to use to translate an inbound proxied response into the appropriate set of customPrincipalobjects 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) longgetMaximumTokenDelegationChainLength(ProfileRequestContext profileRequestContext) Deprecated, for removal: This API element is subject to removal in a future version.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.getProxyAudiences(ProfileRequestContext profileRequestContext) Gets the unmodifiable collection of audiences for a proxied assertion.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.getRequestedAttributes(ProfileRequestContext profileRequestContext) getSPNameQualifier(ProfileRequestContext profileRequestContext) booleanisAllowDelegation(ProfileRequestContext profileRequestContext) Deprecated, for removal: This API element is subject to removal in a future version.booleanisCheckAddress(ProfileRequestContext profileRequestContext) booleanisForceAuthn(ProfileRequestContext profileRequestContext) Get whether the authentication process should include a proof of user presence.booleanisIgnoreScoping(ProfileRequestContext profileRequestContext) Gets whether Scoping elements in requests should be ignored/omitted.booleanisIncludeAttributeStatement(ProfileRequestContext profileRequestContext) Get whether responses to the authentication request should include an attribute statement.booleanisProxiedAuthnInstant(ProfileRequestContext profileRequestContext) Gets whether authentication results produced by use of this profile should carry the proxied assertion's AuthnInstant, rather than the current time.booleanisRandomizeFriendlyName(ProfileRequestContext profileRequestContext) Gets whether to randomize/perturb the FriendlyName attribute when encoding SAML 2.0 Attributes to enable probing of invalid behavior by relying parties.booleanisRequireSignedAssertions(ProfileRequestContext profileRequestContext) booleanisRequireSignedRequests(ProfileRequestContext profileRequestContext) Get whether to require signed requests.booleanisResolveAttributes(ProfileRequestContext profileRequestContext) booleanisSkipEndpointValidationWhenSigned(ProfileRequestContext profileRequestContext) Get condition to determine whether the response endpoint should be validated if the request is signed.booleanisSuppressAuthenticatingAuthority(ProfileRequestContext profileRequestContext) Gets whether to suppress inclusion ofAuthenticatingAuthorityelement.voidsetAllowDelegation(boolean flag) 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.voidsetAttributeIndex(Integer index) Sets the AttributeConsumingServiceIndex to include in requests.voidSets a lookup strategy for the AttributeConsumingServiceIndex to include in requests.voidsetAuthenticationFlows(Collection<String> flows) Set the authentication flows to use.voidSet a lookup strategy for the authentication flows to use.voidSet the comparison operator to use when issuing SAML requests containing requested context classes.voidSet a lookup strategy for the comparison operator to use when issuing SAML requests containing requested context classes.voidSet the function to use to translate an inbound proxied SAML 2.0AuthnContextinto the appropriate set of customPrincipalobjects to populate into the subject.voidsetAuthnContextTranslationStrategyEx(Function<ProfileRequestContext, Collection<Principal>> strategy) Set the function to use to translate an inbound proxied response into the appropriate set of customPrincipalobjects to populate into the subject.voidsetAuthnContextTranslationStrategyExLookupStrategy(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 customPrincipalobjects to populate into the subject.voidsetAuthnContextTranslationStrategyLookupStrategy(Function<ProfileRequestContext, Function<AuthnContext, Collection<Principal>>> strategy) Set a lookup strategy for the function to use to translate an inbound proxied SAML 2.0AuthnContextinto the appropriate set of customPrincipalobjects to populate into the subject.voidsetCheckAddress(boolean flag) Set whether the client's address must match the address in an inboundSubjectLocalityelement during inbound SSO.voidsetCheckAddressPredicate(Predicate<ProfileRequestContext> condition) Set a condition to determine whether the client's address must match the address in an inboundSubjectLocalityelement during inbound SSO.voidsetDefaultAuthenticationMethods(Collection<Principal> contexts) Set the default authentication contexts to use, expressed as custom principals.voidsetDefaultAuthenticationMethodsLookupStrategy(Function<ProfileRequestContext, Collection<Principal>> strategy) Set a lookup strategy for the authentication contexts to use, expressed as custom principals.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.voidsetIgnoreScoping(boolean flag) Sets whether Scoping elements in requests should be ignored/omitted.voidsetIgnoreScopingPredicate(Predicate<ProfileRequestContext> condition) Sets a condition to determine whether Scoping elements in requests should be ignored/omitted.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.voidsetMaximumSPSessionLifetime(Duration lifetime) Set the maximum amount of time the service provider should maintain a session for the user based on the authentication assertion.voidSet a lookup strategy for the maximum amount of time the service provider should maintain a session for the user.voidsetMaximumTimeSinceAuthn(Duration amount) Set the maximum amount of time allowed to have elapsed since an incoming AuthnInstant.voidSet a lookup strategy for the maximum amount of time allowed to have elapsed since an incoming AuthnInstant.voidsetMaximumTokenDelegationChainLength(long length) 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.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.voidsetProxiedAuthnInstant(boolean flag) Sets whether authentication results produced by use of this profile should carry the proxied assertion's AuthnInstant, rather than the current time.voidSets condition to determine whether authentication results produced by use of this profile should carry the proxied assertion's AuthnInstant, rather than the current time.voidsetProxyAudiences(Collection<String> audiences) Set the proxy audiences to be added to responses.voidSet a lookup strategy for the proxy audiences to be added to responses.voidsetProxyCount(Integer count) Set the maximum number of times an assertion may be proxied.voidSet a lookup strategy for the maximum number of times an assertion may be proxied.voidsetRandomizeFriendlyName(boolean flag) Set whether to randomize/perturb the FriendlyName attribute when encoding SAML 2.0 Attributes to enable probing of invalid behavior by relying parties.voidSet condition to determine whether to randomize/perturb the FriendlyName attribute when encoding SAML 2.0 Attributes to enable probing of invalid behavior by relying parties.voidSet theRequestedAttributeobjects to include in request.voidsetRequestedAttributesLookupStrategy(Function<ProfileRequestContext, Collection<RequestedAttribute>> strategy) Set a lookup strategy for the name identifier formats to use.voidsetRequireSignedAssertions(boolean flag) Set whether to require signed assertions.voidSet a condition to determine whether to require signed assertions.voidsetRequireSignedRequests(boolean flag) Set whether to require signed requests.voidSet a condition to determine whether to require signed requests.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.voidsetSkipEndpointValidationWhenSigned(boolean flag) Set whether the response endpoint should be validated if the request is signed.voidSet condition to determine whether the response endpoint should be validated if the request is signed.voidsetSPNameQualifier(String qualifier) Sets the SPNameQualifier to include in requests.voidSets a lookup strategy for the SPNameQualifier to include in requests.voidsetSuppressAuthenticatingAuthority(boolean flag) Sets whether to suppress inclusion ofAuthenticatingAuthorityelement.voidSets condition to determine whether to suppress inclusion ofAuthenticatingAuthorityelement.Methods inherited from class net.shibboleth.idp.saml.saml2.profile.config.impl.AbstractSAML2AssertionProducingProfileConfiguration
getAssertionAudiences, getAssertionLifetime, isEncryptAssertions, isEncryptAttributes, isIncludeConditionsNotBefore, isSignAssertions, setAdditionalAudiencesForAssertion, setAdditionalAudiencesForAssertionLookupStrategy, setAssertionAudiences, setAssertionAudiencesLookupStrategy, setAssertionLifetime, setAssertionLifetimeLookupStrategy, setEncryptAssertions, setEncryptAssertionsPredicate, setEncryptAttributes, setEncryptAttributesPredicate, setIncludeConditionsNotBefore, setIncludeConditionsNotBeforePredicate, setSignAssertions, setSignAssertionsPredicateMethods inherited from class net.shibboleth.idp.saml.saml2.profile.config.impl.AbstractSAML2ArtifactAwareProfileConfiguration
getArtifactConfiguration, isClientTLSArtifactRequests, isSignArtifactRequests, setArtifactConfiguration, setArtifactConfigurationLookupStrategy, setClientTLSArtifactRequests, setClientTLSArtifactRequestsPredicate, setSignArtifactRequests, setSignArtifactRequestsPredicateMethods inherited from class net.shibboleth.idp.saml.saml2.profile.config.impl.AbstractSAML2ProfileConfiguration
isEncryptionOptional, isEncryptNameIDs, isIgnoreRequestSignatures, setEncryptionOptional, setEncryptionOptionalPredicate, setEncryptNameIDs, setEncryptNameIDsPredicate, setIgnoreRequestSignatures, setIgnoreRequestSignaturesPredicateMethods 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.saml2.profile.config.SAML2ProfileConfiguration
isEncryptionOptional, isEncryptNameIDs, isIgnoreRequestSignaturesMethods inherited from interface net.shibboleth.saml.profile.config.SAMLArtifactConsumerProfileConfiguration
isClientTLSArtifactRequests, isSignArtifactRequestsMethods inherited from interface net.shibboleth.saml.profile.config.SAMLAssertionConsumingProfileConfiguration
getAssertionAudiences, getAssertionLifetimeMethods 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. -
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. -
randomizeFriendlyNamePredicate
Whether the FriendlyName attribute should be randomized when encoding Attributes. -
proxyCountLookupStrategy
Lookup function to supply proxyCount property. -
proxyAudiencesLookupStrategy
Lookup function to supply proxy audiences. -
proxiedAuthnInstantPredicate
Whether authentication results should carry the proxied AuthnInstant. -
suppressAuthenticatingAuthorityPredicate
The predicate used to determine whether to suppressAuthenticatingAuthoritywhen possible. -
requireSignedRequestsPredicate
Whether to require requests be signed. -
requireSignedAssertionsPredicate
Whether to require assertions 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<Principal>> 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. -
spNameQualifierLookupStrategy
Lookup function to supply SPNameQualifier in request. -
attributeIndexLookupStrategy
Lookup function to supply AttributeConsumingServiceIndex in request. -
requestedAttributesLookupStrategy
@Nonnull private Function<ProfileRequestContext,Collection<RequestedAttribute>> requestedAttributesLookupStrategyLookup function to supply RequestedAttributes in request.
-
-
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
-
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
-
isIgnoreScoping
Gets whether Scoping elements in requests should be ignored/omitted.- Specified by:
isIgnoreScopingin interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- whether Scoping elements in requests should be ignored/omitted
-
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:
isForceAuthnin interfaceAuthenticationProfileConfiguration- Specified by:
isForceAuthnin interfaceBrowserSSOProfileConfiguration- 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
- Specified by:
isCheckAddressin interfaceBrowserSSOProfileConfiguration
-
setCheckAddress
public void setCheckAddress(boolean flag) Set whether the client's address must match the address in an inboundSubjectLocalityelement 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 inboundSubjectLocalityelement 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.- Specified by:
isSkipEndpointValidationWhenSignedin interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- condition
-
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
-
isRandomizeFriendlyName
Gets whether to randomize/perturb the FriendlyName attribute when encoding SAML 2.0 Attributes to enable probing of invalid behavior by relying parties.- Specified by:
isRandomizeFriendlyNamein interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- true iff the FriendlyName should be randomized
-
setRandomizeFriendlyName
public void setRandomizeFriendlyName(boolean flag) Set whether to randomize/perturb the FriendlyName attribute when encoding SAML 2.0 Attributes to enable probing of invalid behavior by relying parties.- Parameters:
flag- flag to set- Since:
- 5.1.0
-
setRandomizeFriendlyNamePredicate
Set condition to determine whether to randomize/perturb the FriendlyName attribute when encoding SAML 2.0 Attributes to enable probing of invalid behavior by relying parties.- Parameters:
condition- condition to set- Since:
- 5.1.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- Specified by:
getProxyCountin interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- maximum number of times an assertion or authentication may be proxied
-
setProxyCount
Set the maximum number of times an assertion may be proxied.- Parameters:
count- maximum number of times an assertion may be proxied
-
setProxyCountLookupStrategy
Set a lookup strategy for the maximum number of times an assertion may be proxied.- Parameters:
strategy- lookup strategy
-
getProxyAudiences
@Nonnull @NotLive @Unmodifiable public Set<String> getProxyAudiences(@Nullable ProfileRequestContext profileRequestContext) Gets the unmodifiable collection of audiences for a proxied assertion.- Specified by:
getProxyAudiencesin interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- audiences for a proxied assertion
-
setProxyAudiences
Set the proxy audiences to be added to responses.- Parameters:
audiences- proxy audiences to be added to responses
-
setProxyAudiencesLookupStrategy
public void setProxyAudiencesLookupStrategy(@Nonnull Function<ProfileRequestContext, Collection<String>> strategy) Set a lookup strategy for the proxy audiences to be added to responses.- Parameters:
strategy- lookup strategy
-
isSuppressAuthenticatingAuthority
public boolean isSuppressAuthenticatingAuthority(@Nullable ProfileRequestContext profileRequestContext) Gets whether to suppress inclusion ofAuthenticatingAuthorityelement.Defaults to false.
- Specified by:
isSuppressAuthenticatingAuthorityin interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- true iff the element should be suppressed when possible
-
setSuppressAuthenticatingAuthority
public void setSuppressAuthenticatingAuthority(boolean flag) Sets whether to suppress inclusion ofAuthenticatingAuthorityelement.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 ofAuthenticatingAuthorityelement.- 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.
- Specified by:
isProxiedAuthnInstantin interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- whether to proxy across the inbound AuthnInstant
-
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.- Specified by:
isRequireSignedRequestsin interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- whether to require signed requests
-
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
-
isRequireSignedAssertions
- Specified by:
isRequireSignedAssertionsin interfaceSAMLAssertionConsumingProfileConfiguration
-
setRequireSignedAssertions
public void setRequireSignedAssertions(boolean flag) Set whether to require signed assertions.- Parameters:
flag- flag to set- Since:
- 5.0.0
-
setRequireSignedAssertionsPredicate
public void setRequireSignedAssertionsPredicate(@Nonnull Predicate<ProfileRequestContext> condition) Set a condition to determine whether to require signed assertions.- Parameters:
condition- condition to set- Since:
- 5.0.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.- Specified by:
getMaximumSPSessionLifetimein interfaceBrowserSSOProfileConfiguration- 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
@NonNegative @Nullable public Duration getMaximumTimeSinceAuthn(@Nullable ProfileRequestContext profileRequestContext) - Specified by:
getMaximumTimeSinceAuthnin interfaceBrowserSSOProfileConfiguration
-
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
@Deprecated(since="5.0.0", forRemoval=true) public boolean isAllowDelegation(@Nullable ProfileRequestContext profileRequestContext) Deprecated, for removal: This API element is subject to removal in a future version.Get the predicate used to determine if produced assertions may be delegated.- Specified by:
isAllowDelegationin interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- predicate used to determine if produced assertions may be delegated
-
setAllowDelegation
Deprecated, for removal: This API element is subject to removal in a future version.Set whether produced assertions may be delegated.- Parameters:
flag- flag to set
-
setAllowDelegationPredicate
@Deprecated(since="5.0.0", forRemoval=true) public void setAllowDelegationPredicate(@Nonnull Predicate<ProfileRequestContext> predicate) Deprecated, for removal: This API element is subject to removal in a future version.Set the predicate used to determine if produced assertions may be delegated.- Parameters:
predicate- used to determine if produced assertions may be delegated
-
getMaximumTokenDelegationChainLength
@Deprecated(since="5.0.0", forRemoval=true) @NonNegative public long getMaximumTokenDelegationChainLength(@Nullable ProfileRequestContext profileRequestContext) Deprecated, for removal: This API element is subject to removal in a future version.Get the limits on the total number of delegates that may be derived from the initial SAML token.- Specified by:
getMaximumTokenDelegationChainLengthin interfaceBrowserSSOProfileConfiguration- 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
@Deprecated(since="5.0.0", forRemoval=true) public void setMaximumTokenDelegationChainLength(@NonNegative long length) Deprecated, for removal: This API element is subject to removal in a future version.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
@Deprecated(since="5.0.0", forRemoval=true) public void setMaximumTokenDelegationChainLengthLookupStrategy(@Nonnull Function<ProfileRequestContext, Long> strategy) Deprecated, for removal: This API element is subject to removal in a future version.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.0AuthnContextinto the appropriate set of customPrincipalobjects to populate into the subject.- Specified by:
getAuthnContextTranslationStrategyin interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- translation function
-
setAuthnContextTranslationStrategy
public void setAuthnContextTranslationStrategy(@Nullable Function<AuthnContext, Collection<Principal>> strategy) Set the function to use to translate an inbound proxied SAML 2.0AuthnContextinto the appropriate set of customPrincipalobjects 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.0AuthnContextinto the appropriate set of customPrincipalobjects 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 customPrincipalobjects to populate into the subject.This differs from the original in that the input is the entire
ProfileRequestContextof the proxied authentication state rather than the SAMLAuthnContextdirectly.- Specified by:
getAuthnContextTranslationStrategyExin interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- translation function
-
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 customPrincipalobjects to populate into the subject.This differs from the original in that the input is the entire
ProfileRequestContextof the proxied authentication state rather than the SAMLAuthnContextdirectly.- 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 customPrincipalobjects to populate into the subject.This differs from the original in that the input is the entire
ProfileRequestContextof the proxied authentication state rather than the SAMLAuthnContextdirectly.- Parameters:
strategy- lookup strategy- Since:
- 4.1.0
-
getAuthnContextComparison
@Nullable public AuthnContextComparisonTypeEnumeration getAuthnContextComparison(@Nullable ProfileRequestContext profileRequestContext) - Specified by:
getAuthnContextComparisonin interfaceBrowserSSOProfileConfiguration
-
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 @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 contexts to use, expressed as custom principals.- Parameters:
contexts- default authentication contexts to use
-
setDefaultAuthenticationMethodsLookupStrategy
public void setDefaultAuthenticationMethodsLookupStrategy(@Nonnull Function<ProfileRequestContext, Collection<Principal>> 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 @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 @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
-
getSPNameQualifier
- Specified by:
getSPNameQualifierin interfaceBrowserSSOProfileConfiguration
-
setSPNameQualifier
Sets the SPNameQualifier to include in requests.- Parameters:
qualifier- the SPNameQualifier to include- Since:
- 5.0.0
-
setSPNameQualifierLookupStrategy
public void setSPNameQualifierLookupStrategy(@Nonnull Function<ProfileRequestContext, String> strategy) Sets a lookup strategy for the SPNameQualifier to include in requests.- Parameters:
strategy- lookup strategy- Since:
- 5.0.0
-
getAttributeIndex
- Specified by:
getAttributeIndexin interfaceBrowserSSOProfileConfiguration
-
setAttributeIndex
Sets the AttributeConsumingServiceIndex to include in requests.- Parameters:
index- the index to include- Since:
- 5.0.0
-
setAttributeIndexLookupStrategy
public void setAttributeIndexLookupStrategy(@Nonnull Function<ProfileRequestContext, Integer> strategy) Sets a lookup strategy for the AttributeConsumingServiceIndex to include in requests.- Parameters:
strategy- lookup strategy- Since:
- 5.0.0
-
getRequestedAttributes
@Nonnull @NotLive @Unmodifiable public Collection<RequestedAttribute> getRequestedAttributes(@Nullable ProfileRequestContext profileRequestContext) - Specified by:
getRequestedAttributesin interfaceBrowserSSOProfileConfiguration
-
setRequestedAttributes
Set theRequestedAttributeobjects to include in request.- Parameters:
attrs- requested attributes to include- Since:
- 5.0.0
-
setRequestedAttributesLookupStrategy
public void setRequestedAttributesLookupStrategy(@Nonnull Function<ProfileRequestContext, Collection<RequestedAttribute>> strategy) Set a lookup strategy for the name identifier formats to use.- Parameters:
strategy- lookup strategy- Since:
- 5.0.0
-