Class BrowserSSOProfileConfiguration
- All Implemented Interfaces:
AttributeResolvingProfileConfiguration,ConditionalProfileConfiguration,ProfileConfiguration,SAMLArtifactConsumerProfileConfiguration,SAMLAssertionConsumingProfileConfiguration,SAMLProfileConfiguration,BrowserSSOProfileConfiguration,SAML2ProfileConfiguration,Component,DestructableComponent,IdentifiableComponent,IdentifiedComponent,InitializableComponent,BrowserSSOProfileConfiguration
- Direct Known Subclasses:
ECPProfileConfiguration
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Predicate<ProfileRequestContext>Whether to allow empty InResponseTo values.(package private) Function<ProfileRequestContext,Function<ProfileRequestContext, Collection<IdPAttribute>>> Lookup function for attribute extraction strategy.private Function<ProfileRequestContext,Integer> Lookup function to supply AttributeConsumingServiceIndex.private Function<ProfileRequestContext,String> Lookup strategy for attribute recipient group ID.(package private) Function<ProfileRequestContext,String> Lookup function for attribute resolution principal.private Function<ProfileRequestContext,Collection<String>> Lookup function to supply default authentication methods.private Function<ProfileRequestContext,String> Lookup function for requested AC operator.private Predicate<ProfileRequestContext>Whether to compare client and assertion addresses on inbound SSO.private Predicate<ProfileRequestContext>Whether to validate inbound InResponseTo values.private Predicate<ProfileRequestContext>Whether to perform standard response data extraction.private Predicate<ProfileRequestContext>Whether to mandate forced authentication for the request.private Function<ProfileRequestContext,Duration> Lookup function to supply maximum time since inbound AuthnInstant.private Function<ProfileRequestContext,String> Lookup function to supply NameID format.private Function<ProfileRequestContext,String> Lookup function to supply SPNameQualifier.private Function<ProfileRequestContext,Integer> Lookup function to supply ProxyCount.Lookup function to supply RequestedAttributes.private Function<ProfileRequestContext,Collection<String>> Lookup strategy for requested IdP attribute names to pass into resolver.private Predicate<ProfileRequestContext>Whether to require NotOnOrAfter value.private Predicate<ProfileRequestContext>Whether to require Recipient value.private Predicate<ProfileRequestContext>Whether attributes should be resolved in the course of the profile.private Function<ProfileRequestContext,String> Lookup function for response binding.private Predicate<ProfileRequestContext>Whether to validate incoming ACRs.Fields 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_FEATURES -
Constructor Summary
ConstructorsModifierConstructorDescriptionConstructor.protectedBrowserSSOProfileConfiguration(String profileId) Constructor. -
Method Summary
Modifier and TypeMethodDescriptiongetAttributeExtractionStrategy(ProfileRequestContext profileRequestContext) Get a strategy function to apply to SAML responses to extract additionalIdPAttributeobjects from the data.getAttributeIndex(ProfileRequestContext profileRequestContext) getAttributeRecipientGroupID(ProfileRequestContext profileRequestContext) getAttributeResolutionPrincipal(ProfileRequestContext profileRequestContext) Get a principal name to feed into attribute resolution ifAttributeResolvingProfileConfiguration.isResolveAttributes(ProfileRequestContext)is true.getAuthnContextClassRefs(ProfileRequestContext profileRequestContext) Get theAuthnContextClassRefvalues to include in SAML request.getAuthnContextComparison(ProfileRequestContext profileRequestContext) getMaximumTimeSinceAuthn(ProfileRequestContext profileRequestContext) getNameIDFormat(ProfileRequestContext profileRequestContext) Get the name identifier format to require via the SAML request.getProxyCount(ProfileRequestContext profileRequestContext) getRequestedAttributes(ProfileRequestContext profileRequestContext) getRequestedIdPAttributeNames(ProfileRequestContext profileRequestContext) getResponseBinding(ProfileRequestContext profileRequestContext) Get the SAML binding to insert into anAuthnRequestto control the response binding.getSPNameQualifier(ProfileRequestContext profileRequestContext) booleanisAllowUnsolicited(ProfileRequestContext profileRequestContext) Get whether the inboundSubjectConfirmationData.getInResponseTo()value may be empty, i.e., allowing the receipt of unsolicited responses.booleanisCheckAddress(ProfileRequestContext profileRequestContext) booleanisCheckInResponseTo(ProfileRequestContext profileRequestContext) booleanisExtractStandardAttributes(ProfileRequestContext profileRequestContext) Get whether to perform extractioon of a set of "standard" information from a SAML response and assertions, primarily for compatibility with the older SP software.booleanisForceAuthn(ProfileRequestContext profileRequestContext) booleanisRequireNotOnOrAfter(ProfileRequestContext profileRequestContext) Get whether the inboundSubjectConfirmationData.getNotOnOrAfter()value may be empty.booleanisRequireRecipient(ProfileRequestContext profileRequestContext) Get whether the inboundSubjectConfirmationData.getRecipient()value may be empty.booleanisResolveAttributes(ProfileRequestContext profileRequestContext) booleanisValidateAuthnContextClassRefs(ProfileRequestContext profileRequestContext) Get whether to validate the incoming assertions'AuthnContextClassRefagainst anyRequestedAuthnContextincluded in the original request.voidsetAllowUnsolicited(boolean flag) Sets whether to allow unsolicited SSO responses (i.e., explicitly allow an empty InResponseTo value).voidSets the condition for whether to allow unsolicited SSO responses (i.e., explicitly allow an empty InResponseTo value).voidSet the attribute extraction strategy.voidsetAttributeExtractionStrategyLookupStrategy(Function<ProfileRequestContext, Function<ProfileRequestContext, Collection<IdPAttribute>>> strategy) Set the lookup strategy for the attribute extraction strategy.voidsetAttributeIndex(Integer index) Set the AttributeConsumingServiceIndex to include in the SAML request.voidSet a lookup strategy for the AttributeConsumingServiceIndex to include in the SAML request.voidsetAttributeRecipientGroupID(String groupID) Set the group of services for which attributes are being resolved.voidSet the lookup strategy for the group of services for which attributes are being resolved.voidsetAttributeResolutionPrincipal(String principal) Set a principal name to feed into attribute resolution ifisResolveAttributes(ProfileRequestContext)is true.voidSet a lookup strategy for the principal name to feed into attribute resolution ifisResolveAttributes(ProfileRequestContext)is truevoidsetAuthnContextClassRefs(Collection<String> contexts) Set theAuthnContextClassRefvalues to include in SAML request.voidSet a lookup strategy for theAuthnContextClassRefvalues to include in SAML request.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.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.voidsetCheckInResponseTo(boolean flag) Set whether the inbound InResponseTo value should be checked against the outgoing request message during inbound SSO.voidSet a condition to determine whether the inbound InResponseTo value should be checked against the outgoing request message during inbound SSO.voidsetExtractStandardAttributes(boolean flag) Set whether to perform standard data extraction.voidSet a condition for whether to perform standard data extraction.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.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.voidsetNameIDFormat(String format) Set the name identifier format to require via the SAML request.voidSet a lookup strategy for the name identifier format to require via the SAML request.voidsetProxyCount(Integer count) Set the maximum number of times an assertion may be proxied to signal in the SAML request.voidSet a lookup strategy for the maximum number of times an assertion may be proxied to signal in the SAML request.voidSet the list ofRequestedAttributeobjects to include in the SAML request (via extension).voidsetRequestedAttributesLookupStrategy(Function<ProfileRequestContext, Collection<RequestedAttribute>> strategy) Set a lookup strategy for the list ofRequestedAttributeobjects to include in the SAML request (via extension).voidSetIdPAttributenames to resolve (if resolving attributes).voidsetRequestedIdPAttributeNamesLookupStrategy(Function<ProfileRequestContext, Collection<String>> strategy) Lookup strategy forIdPAttributenames to resolve (if resolving attributes).voidsetRequireNotOnOrAfter(boolean flag) Sets whether to requireSubjectConfirmationData.getNotOnOrAfter()be non-null.voidSets the condition for whether to requireSubjectConfirmationData.getNotOnOrAfter()be non-null.voidsetRequireRecipient(boolean flag) Sets whether to requireSubjectConfirmationData.getRecipient()be non-null.voidSets the condition for whether to requireSubjectConfirmationData.getRecipient()be non-null.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.voidsetResponseBinding(String binding) Set the response binding to place into theAuthnRequest.voidSet a lookup strategy for the response binding to place into theAuthnRequest.voidsetSPNameQualifier(String qualifier) Set the SPNameQualifier to include in the SAML request.voidSet a lookup strategy for the SPNameQualifier to include in the SAML request.voidsetValidateAuthnContextClassRefs(boolean flag) Set whether to validate the incoming assertions'AuthnContextClassRefagainst anyRequestedAuthnContextincluded in the original request.voidSet a condition for whether to validate the incoming assertions'AuthnContextClassRefagainst anyRequestedAuthnContextincluded in the original request.Methods inherited from class net.shibboleth.sp.saml.saml2.profile.config.impl.AbstractSAML2AssertionConsumerProfileConfiguration
getAssertionAudiences, getAssertionLifetime, isRequireSignedAssertions, setAssertionAudiences, setAssertionAudiencesLookupStrategy, setAssertionLifetime, setAssertionLifetimeLookupStrategy, setRequireSignedAssertions, setRequireSignedAssertionsPredicateMethods inherited from class net.shibboleth.sp.saml.saml2.profile.config.impl.AbstractSAML2ArtifactConsumerProfileConfiguration
isClientTLSArtifactRequests, isSignArtifactRequests, setClientTLSArtifactRequests, setClientTLSArtifactRequestsPredicate, setSignArtifactRequests, setSignArtifactRequestsPredicateMethods inherited from class net.shibboleth.sp.saml.saml2.profile.config.impl.AbstractSAML2ProfileConfiguration
getMessageHandler, isEncryptionOptional, isEncryptNameIDs, isIgnoreRequestSignatures, isSignRequests, isSignResponses, setEncryptionOptional, setEncryptionOptionalPredicate, setEncryptNameIDs, setEncryptNameIDsPredicate, setIgnoreRequestSignatures, setIgnoreRequestSignaturesPredicate, setMessageHandler, setMessageHandlerLookupStrategy, setSignRequests, setSignRequestsPredicate, setSignResponses, setSignResponsesPredicateMethods inherited from class net.shibboleth.sp.profile.config.AbstractConditionalProfileConfiguration
setDisallowedFeaturesMethods 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.shared.component.IdentifiedComponent
getIdMethods 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, getAssertionLifetime, isRequireSignedAssertionsMethods inherited from interface net.shibboleth.saml.profile.config.SAMLProfileConfiguration
getMessageHandler, isSignRequests, isSignResponses
-
Field Details
-
resolveAttributesPredicate
Whether attributes should be resolved in the course of the profile. -
requestedIdPAttributeNamesLookupStrategy
@Nonnull private Function<ProfileRequestContext,Collection<String>> requestedIdPAttributeNamesLookupStrategyLookup strategy for requested IdP attribute names to pass into resolver. -
attributeRecipientGroupIDLookupStrategy
Lookup strategy for attribute recipient group ID. -
forceAuthnPredicate
Whether to mandate forced authentication for the request. -
checkAddressPredicate
Whether to compare client and assertion addresses on inbound SSO. -
checkInResponseToPredicate
Whether to validate inbound InResponseTo values. -
requireRecipientPredicate
Whether to require Recipient value. -
requireNotOnOrAfterPredicate
Whether to require NotOnOrAfter value. -
allowUnsolicitedPredicate
Whether to allow empty InResponseTo values. -
maximumTimeSinceAuthnLookupStrategy
Lookup function to supply maximum time since inbound AuthnInstant. -
proxyCountLookupStrategy
Lookup function to supply ProxyCount. -
authnContextComparisonLookupStrategy
Lookup function for requested AC operator. -
authnContextClassRefLookupStrategy
@Nonnull private Function<ProfileRequestContext,Collection<String>> authnContextClassRefLookupStrategyLookup function to supply default authentication methods. -
validateAuthnContextClassRefsPredicate
Whether to validate incoming ACRs. -
nameIDFormatLookupStrategy
Lookup function to supply NameID format. -
nameQualifierLookupStrategy
Lookup function to supply SPNameQualifier. -
attributeIndexLookupStrategy
Lookup function to supply AttributeConsumingServiceIndex. -
requestedAttributesLookupStrategy
@Nonnull private Function<ProfileRequestContext,Collection<RequestedAttribute>> requestedAttributesLookupStrategyLookup function to supply RequestedAttributes. -
responseBindingLookupStrategy
Lookup function for response binding. -
extractStandardAttributesPredicate
Whether to perform standard response data extraction. -
attributeExtractionStrategyLookupStrategy
@Nonnull Function<ProfileRequestContext,Function<ProfileRequestContext, attributeExtractionStrategyLookupStrategyCollection<IdPAttribute>>> Lookup function for attribute extraction strategy. -
attributeResolutionPrincipalLookupStrategy
Lookup function for attribute resolution principal.
-
-
Constructor Details
-
BrowserSSOProfileConfiguration
public BrowserSSOProfileConfiguration()Constructor. -
BrowserSSOProfileConfiguration
Constructor.- Parameters:
profileId- unique ID for this profile
-
-
Method Details
-
isResolveAttributes
- Specified by:
isResolveAttributesin interfaceAttributeResolvingProfileConfiguration
-
setResolveAttributes
public void setResolveAttributes(boolean flag) Set whether attributes should be resolved during the profile.- Parameters:
flag- flag to set
-
setResolveAttributesPredicate
Set a condition to determine whether attributes should be resolved during the profile.- Parameters:
condition- condition to set
-
getRequestedIdPAttributeNames
@Nonnull @Unmodifiable @NotLive public Collection<String> getRequestedIdPAttributeNames(@Nullable ProfileRequestContext profileRequestContext) - Specified by:
getRequestedIdPAttributeNamesin interfaceAttributeResolvingProfileConfiguration
-
setRequestedIdPAttributeNames
SetIdPAttributenames to resolve (if resolving attributes).- Parameters:
names-IdPAttributenames to resolve- Since:
- 5.2.0
-
setRequestedIdPAttributeNamesLookupStrategy
public void setRequestedIdPAttributeNamesLookupStrategy(@Nonnull Function<ProfileRequestContext, Collection<String>> strategy) Lookup strategy forIdPAttributenames to resolve (if resolving attributes).- Parameters:
strategy- lookup strategy- Since:
- 5.2.0
-
getAttributeRecipientGroupID
@Nullable public String getAttributeRecipientGroupID(@Nullable ProfileRequestContext profileRequestContext) - Specified by:
getAttributeRecipientGroupIDin interfaceAttributeResolvingProfileConfiguration
-
setAttributeRecipientGroupID
Set the group of services for which attributes are being resolved.- Parameters:
groupID- group identifier
-
setAttributeRecipientGroupIDLookupStrategy
public void setAttributeRecipientGroupIDLookupStrategy(@Nonnull Function<ProfileRequestContext, String> strategy) Set the lookup strategy for the group of services for which attributes are being resolved.- Parameters:
strategy- lookup strategy
-
isForceAuthn
- Specified by:
isForceAuthnin interfaceBrowserSSOProfileConfiguration
-
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
-
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
-
isCheckInResponseTo
- Specified by:
isCheckInResponseToin interfaceBrowserSSOProfileConfiguration
-
setCheckInResponseTo
public void setCheckInResponseTo(boolean flag) Set whether the inbound InResponseTo value should be checked against the outgoing request message during inbound SSO.- Parameters:
flag- flag to set
-
setCheckInResponseToPredicate
Set a condition to determine whether the inbound InResponseTo value should be checked against the outgoing request message during inbound SSO.- Parameters:
condition- condition to set
-
isRequireRecipient
Get whether the inboundSubjectConfirmationData.getRecipient()value may be empty.Its presence is required by the profile, so this is provided as a bug workaround.
Note that this does not allow it to be present but invalid.
- Specified by:
isRequireRecipientin interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- whether to enforce the presence of Recipient
-
setRequireRecipient
public void setRequireRecipient(boolean flag) Sets whether to requireSubjectConfirmationData.getRecipient()be non-null.- Parameters:
flag- flag to set
-
setRequireRecipientPredicate
Sets the condition for whether to requireSubjectConfirmationData.getRecipient()be non-null.- Parameters:
condition- condition to set
-
isRequireNotOnOrAfter
Get whether the inboundSubjectConfirmationData.getNotOnOrAfter()value may be empty.Its presence is required by the profile, so this is provided as a bug workaround.
Note that this does not allow it to be present but invalid.
- Specified by:
isRequireNotOnOrAfterin interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- whether to enforce the presence of Recipient
-
setRequireNotOnOrAfter
public void setRequireNotOnOrAfter(boolean flag) Sets whether to requireSubjectConfirmationData.getNotOnOrAfter()be non-null.- Parameters:
flag- flag to set
-
setRequireNotOnOrAfterPredicate
Sets the condition for whether to requireSubjectConfirmationData.getNotOnOrAfter()be non-null.- Parameters:
condition- condition to set
-
isAllowUnsolicited
Get whether the inboundSubjectConfirmationData.getInResponseTo()value may be empty, i.e., allowing the receipt of unsolicited responses.- Specified by:
isAllowUnsolicitedin interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- whether to allow unsolicited SSO
-
setAllowUnsolicited
public void setAllowUnsolicited(boolean flag) Sets whether to allow unsolicited SSO responses (i.e., explicitly allow an empty InResponseTo value).Defaults to true.
- Parameters:
flag- flag to set
-
setAllowUnsolicitedPredicate
Sets the condition for whether to allow unsolicited SSO responses (i.e., explicitly allow an empty InResponseTo value).Defaults to true.
- Parameters:
condition- condition to set
-
getMaximumTimeSinceAuthn
@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
-
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
-
getProxyCount
@NonNegative @Nullable public Integer getProxyCount(@Nullable ProfileRequestContext profileRequestContext) - Specified by:
getProxyCountin interfaceBrowserSSOProfileConfiguration
-
setProxyCount
Set the maximum number of times an assertion may be proxied to signal in the SAML request.- 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 to signal in the SAML request.- Parameters:
strategy- lookup strategy
-
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
-
getAuthnContextClassRefs
@Nonnull @NonnullElements @NotLive @Unmodifiable public List<String> getAuthnContextClassRefs(@Nullable ProfileRequestContext profileRequestContext) Get theAuthnContextClassRefvalues to include in SAML request.- Specified by:
getAuthnContextClassRefsin interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- list of class references
-
setAuthnContextClassRefs
Set theAuthnContextClassRefvalues to include in SAML request.- Parameters:
contexts- default authentication context class references to use
-
setAuthnContextClassRefsLookupStrategy
public void setAuthnContextClassRefsLookupStrategy(@Nonnull Function<ProfileRequestContext, Collection<String>> strategy) Set a lookup strategy for theAuthnContextClassRefvalues to include in SAML request.- Parameters:
strategy- lookup strategy
-
isValidateAuthnContextClassRefs
public boolean isValidateAuthnContextClassRefs(@Nullable ProfileRequestContext profileRequestContext) Get whether to validate the incoming assertions'AuthnContextClassRefagainst anyRequestedAuthnContextincluded in the original request.This leverages both the Hub's
StateManagerto recover the requested values and the IdP's existing machibery for evaluating the information in the case of inexact comparison operators.Defaults to true.
- Specified by:
isValidateAuthnContextClassRefsin interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- profile request context- Returns:
- whether to cross check the resulting ACRs
-
setValidateAuthnContextClassRefs
public void setValidateAuthnContextClassRefs(boolean flag) Set whether to validate the incoming assertions'AuthnContextClassRefagainst anyRequestedAuthnContextincluded in the original request.- Parameters:
flag- flag to set
-
setValidateAuthnContextClassRefsPredicate
public void setValidateAuthnContextClassRefsPredicate(@Nonnull Predicate<ProfileRequestContext> condition) Set a condition for whether to validate the incoming assertions'AuthnContextClassRefagainst anyRequestedAuthnContextincluded in the original request.- Parameters:
condition- condition to set
-
getNameIDFormat
Get the name identifier format to require via the SAML request.- Specified by:
getNameIDFormatin interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- required format
-
setNameIDFormat
Set the name identifier format to require via the SAML request.- Parameters:
format- required format
-
setNameIDFormatLookupStrategy
Set a lookup strategy for the name identifier format to require via the SAML request.- Parameters:
strategy- lookup strategy
-
getSPNameQualifier
- Specified by:
getSPNameQualifierin interfaceBrowserSSOProfileConfiguration
-
setSPNameQualifier
Set the SPNameQualifier to include in the SAML request.- Parameters:
qualifier- requested SPNameQualifier
-
setSPNameQualifierLookupStrategy
public void setSPNameQualifierLookupStrategy(@Nonnull Function<ProfileRequestContext, String> strategy) Set a lookup strategy for the SPNameQualifier to include in the SAML request.- Parameters:
strategy- lookup strategy
-
getAttributeIndex
- Specified by:
getAttributeIndexin interfaceBrowserSSOProfileConfiguration
-
setAttributeIndex
Set the AttributeConsumingServiceIndex to include in the SAML request.- Parameters:
index- the AttributeConsumingServiceIndex
-
setAttributeIndexLookupStrategy
public void setAttributeIndexLookupStrategy(@Nonnull Function<ProfileRequestContext, Integer> strategy) Set a lookup strategy for the AttributeConsumingServiceIndex to include in the SAML request.- Parameters:
strategy- lookup strategy
-
getRequestedAttributes
@Nonnull @NonnullElements @Unmodifiable @NotLive public Collection<RequestedAttribute> getRequestedAttributes(@Nullable ProfileRequestContext profileRequestContext) - Specified by:
getRequestedAttributesin interfaceBrowserSSOProfileConfiguration
-
setRequestedAttributes
Set the list ofRequestedAttributeobjects to include in the SAML request (via extension).- Parameters:
attrs- requested attributes
-
setRequestedAttributesLookupStrategy
public void setRequestedAttributesLookupStrategy(@Nonnull Function<ProfileRequestContext, Collection<RequestedAttribute>> strategy) Set a lookup strategy for the list ofRequestedAttributeobjects to include in the SAML request (via extension).- Parameters:
strategy- lookup strategy
-
getResponseBinding
Get the SAML binding to insert into anAuthnRequestto control the response binding.Defaults tp
SAMLConstants.SAML2_POST_BINDING_URI.- Specified by:
getResponseBindingin interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- response binding
-
setResponseBinding
Set the response binding to place into theAuthnRequest.Defaults tp
SAMLConstants.SAML2_POST_BINDING_URI.- Parameters:
binding- response binding
-
setResponseBindingLookupStrategy
public void setResponseBindingLookupStrategy(@Nonnull Function<ProfileRequestContext, String> strategy) Set a lookup strategy for the response binding to place into theAuthnRequest.- Parameters:
strategy- lookup strategy
-
isExtractStandardAttributes
Get whether to perform extractioon of a set of "standard" information from a SAML response and assertions, primarily for compatibility with the older SP software.This is essentially a built-in extraction strategy that can be supplemented via
BrowserSSOProfileConfiguration.getAttributeExtractionStrategy(ProfileRequestContext).Defaults to "true".
- Specified by:
isExtractStandardAttributesin interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- profile request context- Returns:
- whether to perform standard data extraction
-
setExtractStandardAttributes
public void setExtractStandardAttributes(boolean flag) Set whether to perform standard data extraction.- Parameters:
flag- flag to set
-
setExtractStandardAttributesPredicate
public void setExtractStandardAttributesPredicate(@Nonnull Predicate<ProfileRequestContext> condition) Set a condition for whether to perform standard data extraction.- Parameters:
condition- condition to set
-
getAttributeExtractionStrategy
@Nullable public Function<ProfileRequestContext,Collection<IdPAttribute>> getAttributeExtractionStrategy(@Nullable ProfileRequestContext profileRequestContext) Get a strategy function to apply to SAML responses to extract additionalIdPAttributeobjects from the data.This supplements the built-in behavior that decodes any SAML
Attributeobjects in the validated assertion(s).- Specified by:
getAttributeExtractionStrategyin interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- profile request context- Returns:
- extraction strategy
-
setAttributeExtractionStrategy
public void setAttributeExtractionStrategy(@Nonnull Function<ProfileRequestContext, Collection<IdPAttribute>> strategy) Set the attribute extraction strategy.- Parameters:
strategy- strategy function
-
setAttributeExtractionStrategyLookupStrategy
public void setAttributeExtractionStrategyLookupStrategy(@Nonnull Function<ProfileRequestContext, Function<ProfileRequestContext, Collection<IdPAttribute>>> strategy) Set the lookup strategy for the attribute extraction strategy.- Parameters:
strategy- lookup strategy
-
getAttributeResolutionPrincipal
@Nullable public String getAttributeResolutionPrincipal(@Nullable ProfileRequestContext profileRequestContext) Get a principal name to feed into attribute resolution ifAttributeResolvingProfileConfiguration.isResolveAttributes(ProfileRequestContext)is true.- Specified by:
getAttributeResolutionPrincipalin interfaceBrowserSSOProfileConfiguration- Parameters:
profileRequestContext- profile request context- Returns:
- principal name to use during resolution
-
setAttributeResolutionPrincipal
Set a principal name to feed into attribute resolution ifisResolveAttributes(ProfileRequestContext)is true.- Parameters:
principal- principal name to set
-
setAttributeResolutionPrincipalLookupStrategy
public void setAttributeResolutionPrincipalLookupStrategy(@Nonnull Function<ProfileRequestContext, String> strategy) Set a lookup strategy for the principal name to feed into attribute resolution ifisResolveAttributes(ProfileRequestContext)is true- Parameters:
strategy- lookup strategy
-