# Package net.shibboleth.idp.authn.principal

@NonnullElements package net.shibboleth.idp.authn.principal
Classes supporting Java `Principal` usage.

Related Packages
Package
Description
net.shibboleth.idp.authn
APIs related to the authentication of a subject.
net.shibboleth.idp.authn.principal.impl
Implementation of functionality related to Java Principals.
net.shibboleth.idp.authn.config
Configuration touchpoints for authentication flows.
net.shibboleth.idp.authn.context
Context classes for managing authentication-related state.
net.shibboleth.idp.authn.impl
Implementation of various authentication actions.
net.shibboleth.idp.authn.testing
Testing utility classes.
Class
Description
AbstractPrincipalSerializer<Type>
Base class for `PrincipalSerializer` implementations.
AuthenticationResultPrincipal
Principal that wraps an `AuthenticationResult`.
CloneablePrincipal
Principal that can be cloned without knowledge of the underlying type.
GenericPrincipalSerializer
Principal serializer for arbitrary principal types.
GenericPrincipalService<T extends Principal>
`PrincipalService` for most principal types that just exposes the proper `PrincipalSerializer`.
HOTPPrincipal
Principal based on an HOTP authentication.
IdPAttributePrincipal
Principal that wraps an `IdPAttribute`.
PasswordPrincipal
Principal that wraps a password.
PrincipalEvalPredicate
A `Predicate` to evaluate a `Principal` that represents a requested form of authentication against a set of principals supported by a `PrincipalSupportingComponent`.
PrincipalEvalPredicateFactory
Generates a `Predicate` to evaluate a `PrincipalSupportingComponent` against a requested form of authentication expressed in terms of a `Principal`.
PrincipalEvalPredicateFactoryRegistration
Wraps the association of a `PrincipalEvalPredicateFactory` against a particular `Principal` subtype and a string operator.
PrincipalEvalPredicateFactoryRegistry
A registry of mappings between a custom `Principal` subtype with a matching operator and a corresponding `PrincipalEvalPredicateFactory` that returns predicates enforcing a particular set of matching rules for that operator and subtype.
PrincipalSerializer<Type>
Interface for the serialization/deserialization of principals.
PrincipalService<T extends Principal>
Interface that provides services for a `Principal` of a given type.
PrincipalServiceManager
Manages and exposes instances of the `PrincipalService` interface.
PrincipalSupport
Helper class for accessing `Principal` information.
PrincipalSupportingComponent
Interface for an authentication component that exposes custom `Principal` objects.
ProxyAuthenticationPrincipal
Principal that wraps a set of proxied authentication authorities and any restrictions on subsequent re-use.
SealedPrincipalSerializer<T extends Principal>
Principal serializer that encrypts/decrypts the data when serializing.
SimplePrincipalSerializer<T extends Principal>
Principal serializer for string-based principals that serialize to a simple JSON structure.
TOTPPrincipal
Principal based on a TOTP authentication.
UsernamePrincipal
Principal based on a username.