Class AbstractOAuth2ClientAuthenticableProfileConfiguration
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
-
- net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
-
- net.shibboleth.idp.profile.config.AbstractProfileConfiguration
-
- net.shibboleth.idp.profile.config.AbstractConditionalProfileConfiguration
-
- net.shibboleth.oidc.profile.oauth2.config.AbstractOAuth2ClientAuthenticableProfileConfiguration
-
- All Implemented Interfaces:
net.shibboleth.idp.authn.config.AuthenticationProfileConfiguration,net.shibboleth.idp.profile.config.ConditionalProfileConfiguration,net.shibboleth.idp.profile.config.ProfileConfiguration,OAuth2ProfileConfiguration,Component,DestructableComponent,IdentifiableComponent,IdentifiedComponent,InitializableComponent
- Direct Known Subclasses:
AbstractOAuth2FlowAwareProfileConfiguration,AbstractOAuth2TokenValidatingConfiguration
public abstract class AbstractOAuth2ClientAuthenticableProfileConfiguration extends net.shibboleth.idp.profile.config.AbstractConditionalProfileConfiguration implements OAuth2ProfileConfiguration, net.shibboleth.idp.authn.config.AuthenticationProfileConfiguration
Base class for OAuth profile configurations that support OAuth-defined client authentication methods.
-
-
Field Summary
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractOAuth2ClientAuthenticableProfileConfiguration(String profileId)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Set<String>getAuthenticationFlows(ProfileRequestContext profileRequestContext)ClaimsValidatorgetClaimsValidator(ProfileRequestContext profileRequestContext)Get theClaimsValidatorto apply to JWT-based client authentication.List<Principal>getDefaultAuthenticationMethods(ProfileRequestContext profileRequestContext)List<String>getPostAuthenticationFlows(ProfileRequestContext profileRequestContext)IntegergetProxyCount(ProfileRequestContext profileRequestContext)Set<String>getTokenEndpointAuthMethods(ProfileRequestContext profileRequestContext)Get the enabled token endpoint authentication methods.booleanisForceAuthn(ProfileRequestContext profileRequestContext)voidsetAuthenticationFlows(Collection<String> flows)Set the authentication flows to use.voidsetAuthenticationFlowsLookupStrategy(Function<ProfileRequestContext,Set<String>> strategy)Set a lookup strategy for the authentication flows to use.voidsetClaimsValidator(ClaimsValidator validator)Set theClaimsValidatorto apply to JWT-based client authentication.voidsetClaimsValidatorLookupStrategy(Function<ProfileRequestContext,ClaimsValidator> strategy)Set a lookup strategy for theClaimsValidatorto apply to JWT-based client authentication.voidsetDefaultAuthenticationMethods(Collection<AuthenticationContextClassReferencePrincipal> contexts)Set the default authentication contexts to use, expressed as custom principals.voidsetDefaultAuthenticationMethodsLookupStrategy(Function<ProfileRequestContext,Collection<AuthenticationContextClassReferencePrincipal>> 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.voidsetPostAuthenticationFlows(Collection<String> flows)Set the ordered collection of post-authentication interceptor flows to enable.voidsetPostAuthenticationFlowsLookupStrategy(Function<ProfileRequestContext,Collection<String>> strategy)Set a lookup strategy for the post-authentication interceptor flows to enable.voidsetProxyCount(Integer count)Sets the maximum number of times an assertion may be proxied outbound and/or the maximum number of hops between the relying party and a proxied authentication authority inbound.voidsetProxyCountLookupStrategy(Function<ProfileRequestContext,Integer> strategy)Set a lookup strategy for the maximum number of times an assertion may be proxied outbound and/or the maximum number of hops between the relying party and a proxied authentication authority inbound.voidsetTokenEndpointAuthMethods(Collection<String> methods)Set the enabled token endpoint authentication methods.voidsetTokenEndpointAuthMethodsLookupStrategy(Function<ProfileRequestContext,Set<String>> strategy)Set a lookup strategy for the enabled token endpoint authentication methods.-
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
isLocal
-
Methods inherited from interface net.shibboleth.utilities.java.support.component.IdentifiedComponent
getId
-
-
-
-
Field Detail
-
tokenEndpointAuthMethodsLookupStrategy
@Nonnull private Function<ProfileRequestContext,Set<String>> tokenEndpointAuthMethodsLookupStrategy
Enabled token endpoint authentication methods.
-
claimsValidatorLookupStrategy
@Nonnull private Function<ProfileRequestContext,ClaimsValidator> claimsValidatorLookupStrategy
Validation of JWT claims for subset of client auth methods.
-
forceAuthnPredicate
@Nonnull private Predicate<ProfileRequestContext> forceAuthnPredicate
Whether to mandate forced authentication for the request.
-
proxyCountLookupStrategy
@Nonnull private Function<ProfileRequestContext,Integer> proxyCountLookupStrategy
Lookup function to supply proxyCount property.
-
defaultAuthenticationContextsLookupStrategy
@Nonnull private Function<ProfileRequestContext,Collection<AuthenticationContextClassReferencePrincipal>> defaultAuthenticationContextsLookupStrategy
Lookup function to supply default authentication methods.
-
authenticationFlowsLookupStrategy
@Nonnull private Function<ProfileRequestContext,Set<String>> authenticationFlowsLookupStrategy
Lookup function to supply authentication flows.
-
postAuthenticationFlowsLookupStrategy
@Nonnull private Function<ProfileRequestContext,Collection<String>> postAuthenticationFlowsLookupStrategy
Lookup function to supply post authentication flows.
-
-
Method Detail
-
getTokenEndpointAuthMethods
@Nonnull @NonnullElements @NotLive @Unmodifiable public Set<String> getTokenEndpointAuthMethods(@Nullable ProfileRequestContext profileRequestContext)
Get the enabled token endpoint authentication methods.- Parameters:
profileRequestContext- profile request context- Returns:
- enabled token endpoint authentication methods
-
setTokenEndpointAuthMethods
public void setTokenEndpointAuthMethods(@Nonnull @NonnullElements Collection<String> methods)
Set the enabled token endpoint authentication methods.- Parameters:
methods- What to set.
-
setTokenEndpointAuthMethodsLookupStrategy
public void setTokenEndpointAuthMethodsLookupStrategy(@Nonnull Function<ProfileRequestContext,Set<String>> strategy)Set a lookup strategy for the enabled token endpoint authentication methods.- Parameters:
strategy- lookup strategy
-
getClaimsValidator
@Nullable public ClaimsValidator getClaimsValidator(@Nullable ProfileRequestContext profileRequestContext)
Get theClaimsValidatorto apply to JWT-based client authentication.- Parameters:
profileRequestContext- current profile request context- Returns:
- the validator to use
- Since:
- 3.1.0
-
setClaimsValidator
public void setClaimsValidator(@Nullable ClaimsValidator validator)Set theClaimsValidatorto apply to JWT-based client authentication.- Parameters:
validator- validator to use- Since:
- 3.1.0
-
setClaimsValidatorLookupStrategy
public void setClaimsValidatorLookupStrategy(@Nonnull Function<ProfileRequestContext,ClaimsValidator> strategy)Set a lookup strategy for theClaimsValidatorto apply to JWT-based client authentication.- Parameters:
strategy- lookup strategy- Since:
- 3.1.0
-
isForceAuthn
public boolean isForceAuthn(@Nullable ProfileRequestContext profileRequestContext)- Specified by:
isForceAuthnin interfacenet.shibboleth.idp.authn.config.AuthenticationProfileConfiguration
-
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
public void setForceAuthnPredicate(@Nonnull Predicate<ProfileRequestContext> condition)Set a condition to determine whether a fresh user presence proof should be required for this request.- Parameters:
condition- condition to set
-
getProxyCount
@Nullable public Integer getProxyCount(@Nullable ProfileRequestContext profileRequestContext)
- Specified by:
getProxyCountin interfacenet.shibboleth.idp.authn.config.AuthenticationProfileConfiguration
-
setProxyCount
public void setProxyCount(@Nullable @NonNegative Integer count)
Sets the maximum number of times an assertion may be proxied outbound and/or the maximum number of hops between the relying party and a proxied authentication authority inbound.- Parameters:
count- proxy count
-
setProxyCountLookupStrategy
public void setProxyCountLookupStrategy(@Nonnull Function<ProfileRequestContext,Integer> strategy)Set a lookup strategy for the maximum number of times an assertion may be proxied outbound and/or the maximum number of hops between the relying party and a proxied authentication authority inbound.- Parameters:
strategy- lookup strategy
-
getAuthenticationFlows
@Nonnull @NonnullElements @NotLive @Unmodifiable public Set<String> getAuthenticationFlows(@Nullable ProfileRequestContext profileRequestContext)
- Specified by:
getAuthenticationFlowsin interfacenet.shibboleth.idp.authn.config.AuthenticationProfileConfiguration
-
setAuthenticationFlows
public void setAuthenticationFlows(@Nullable @NonnullElements Collection<String> flows)
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
-
getPostAuthenticationFlows
@Nonnull @NonnullElements @NotLive @Unmodifiable public List<String> getPostAuthenticationFlows(@Nullable ProfileRequestContext profileRequestContext)
- Specified by:
getPostAuthenticationFlowsin interfacenet.shibboleth.idp.authn.config.AuthenticationProfileConfiguration
-
setPostAuthenticationFlows
public void setPostAuthenticationFlows(@Nullable @NonnullElements Collection<String> flows)
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
-
getDefaultAuthenticationMethods
@Nonnull @NonnullElements @NotLive @Unmodifiable public List<Principal> getDefaultAuthenticationMethods(@Nullable ProfileRequestContext profileRequestContext)
- Specified by:
getDefaultAuthenticationMethodsin interfacenet.shibboleth.idp.authn.config.AuthenticationProfileConfiguration
-
setDefaultAuthenticationMethods
public void setDefaultAuthenticationMethods(@Nullable @NonnullElements Collection<AuthenticationContextClassReferencePrincipal> 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<AuthenticationContextClassReferencePrincipal>> strategy)Set a lookup strategy for the authentication contexts to use, expressed as custom principals.- Parameters:
strategy- lookup strategy
-
-