Interface PrincipalSupportingComponent

All Known Subinterfaces:
DuoIntegration
All Known Implementing Classes:
AbstractCredentialValidator, AbstractUsernamePasswordCredentialValidator, AbstractValidationAction, AuthenticationFlowDescriptor, AuthenticationResult, BasicDuoIntegration, HTPasswdCredentialValidator, JAASCredentialValidator, KerberosCredentialValidator, LDAPCredentialValidator, ValidateCredentials, ValidateDuoAuthAPI, ValidateDuoWebResponse, ValidateExternalAuthentication, ValidateFunctionResult, ValidateRemoteUser, ValidateSAMLAuthentication, ValidateUserAgentAddress, ValidateX509Certificate

public interface PrincipalSupportingComponent
Interface for an authentication component that exposes custom Principal objects.

Components may expose principals based on both the potential to support them, or because they actively contain them, depending on the nature of a component. Calling components rely on this interface to determine whether a supporting component applies to a given operation or request based on the principals returned.

  • Method Summary

    Modifier and Type Method Description
    <T extends Principal>
    Set<T>
    getSupportedPrincipals​(Class<T> c)
    Get an immutable set of supported custom principals that the component produces, supports, contains, etc.
  • Method Details

    • getSupportedPrincipals

      @Nonnull @NonnullElements @Unmodifiable @NotLive <T extends Principal> Set<T> getSupportedPrincipals​(@Nonnull Class<T> c)
      Get an immutable set of supported custom principals that the component produces, supports, contains, etc.
      Type Parameters:
      T - type of Principal to inquire on
      Parameters:
      c - type of Principal to inquire on
      Returns:
      a set of matching principals