Class AbstractClaimsSetAuditExtractor<T>
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- net.shibboleth.oidc.profile.audit.impl.AbstractClaimsSetAuditExtractor<T>
-
- Type Parameters:
T- the claim type to extract
- All Implemented Interfaces:
Function<ProfileRequestContext,T>,Component,DestructableComponent,InitializableComponent,ContextDataLookupFunction<ProfileRequestContext,T>
- Direct Known Subclasses:
DateBasedJWTClaimAuditExtractor,StringBasedJWTClaimAuditExtractor,StringListBasedJWTClaimAuditExtractor
@ThreadSafe public abstract class AbstractClaimsSetAuditExtractor<T> extends AbstractInitializableComponent implements ContextDataLookupFunction<ProfileRequestContext,T>
An abstract audit extractor function to extract claims from the located claims set.
-
-
Field Summary
Fields Modifier and Type Field Description private StringclaimNameThe name of the claim to extract from the ID token.private Function<ProfileRequestContext,com.nimbusds.openid.connect.sdk.claims.ClaimsSet>claimsSetLookupStrategyStrategy to retrieve the JWT ClaimSet to extract the claim from.private org.slf4j.LoggerlogClass logger.
-
Constructor Summary
Constructors Constructor Description AbstractClaimsSetAuditExtractor()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Tapply(ProfileRequestContext input)protected voiddoInitialize()protected abstract TdoLookup(com.nimbusds.openid.connect.sdk.claims.ClaimsSet req)Implemented to perform the actual lookup.protected StringgetClaimName()Get the claim name to extract.private Function<ProfileRequestContext,com.nimbusds.openid.connect.sdk.claims.ClaimsSet>getClaimsSetLookupStrategy()Get the claims set lookup strategy.voidsetClaimName(String claim)Set the claim whose value is to be extracted from the id_token claims set.voidsetClaimsSetLookupStrategy(Function<ProfileRequestContext,com.nimbusds.openid.connect.sdk.claims.ClaimsSet> strategy)Set the strategy used to lookup theJWTClaimsSetto look for the claim in.-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, initialize, isDestroyed, isInitialized
-
-
-
-
Field Detail
-
log
@Nonnull private final org.slf4j.Logger log
Class logger.
-
claimName
@NonnullAfterInit @NotEmpty private String claimName
The name of the claim to extract from the ID token.
-
claimsSetLookupStrategy
@NonnullAfterInit private Function<ProfileRequestContext,com.nimbusds.openid.connect.sdk.claims.ClaimsSet> claimsSetLookupStrategy
Strategy to retrieve the JWT ClaimSet to extract the claim from.
-
-
Method Detail
-
doInitialize
protected void doInitialize() throws ComponentInitializationException- Overrides:
doInitializein classAbstractInitializableComponent- Throws:
ComponentInitializationException
-
getClaimName
protected String getClaimName()
Get the claim name to extract.- Returns:
- the claim name.
-
setClaimName
public void setClaimName(@Nonnull String claim)Set the claim whose value is to be extracted from the id_token claims set.- Parameters:
claim- the claim name
-
setClaimsSetLookupStrategy
public void setClaimsSetLookupStrategy(@Nonnull Function<ProfileRequestContext,com.nimbusds.openid.connect.sdk.claims.ClaimsSet> strategy)Set the strategy used to lookup theJWTClaimsSetto look for the claim in.- Parameters:
strategy- the strategy
-
getClaimsSetLookupStrategy
private Function<ProfileRequestContext,com.nimbusds.openid.connect.sdk.claims.ClaimsSet> getClaimsSetLookupStrategy()
Get the claims set lookup strategy.- Returns:
- the strategy
-
doLookup
@Nullable protected abstract T doLookup(@Nonnull com.nimbusds.openid.connect.sdk.claims.ClaimsSet req) throws ParseException
Implemented to perform the actual lookup.- Parameters:
req- authentication request to perform the lookup from- Returns:
- lookup value or
nullif not found - Throws:
ParseException- on error lookin up the claim
-
apply
@Nullable public T apply(@Nullable ProfileRequestContext input)
- Specified by:
applyin interfaceFunction<ProfileRequestContext,T>
-
-