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 Details

    • 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.
  • Constructor Details

    • AbstractClaimsSetAuditExtractor

      public AbstractClaimsSetAuditExtractor()
  • Method Details

    • doInitialize

      protected void doInitialize() throws ComponentInitializationException
      Overrides:
      doInitialize in class AbstractInitializableComponent
      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 the JWTClaimsSet to 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 null if not found
      Throws:
      ParseException - on error lookin up the claim
    • apply

      @Nullable public T apply(@Nullable ProfileRequestContext input)
      Specified by:
      apply in interface Function<ProfileRequestContext,T>