Class SealedPrincipalSerializer<T extends Principal>
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- net.shibboleth.idp.authn.principal.AbstractPrincipalSerializer<String>
-
- net.shibboleth.idp.authn.principal.SimplePrincipalSerializer<T>
-
- net.shibboleth.idp.authn.principal.SealedPrincipalSerializer<T>
-
- Type Parameters:
T- principal type
- All Implemented Interfaces:
PrincipalSerializer<String>,Component,DestructableComponent,InitializableComponent
public class SealedPrincipalSerializer<T extends Principal> extends SimplePrincipalSerializer<T>
Principal serializer that encrypts/decrypts the data when serializing.- Since:
- 4.1.0
-
-
Field Summary
Fields Modifier and Type Field Description private org.slf4j.LoggerlogClass logger.private static StringPASSWORD_FIELDField name of password.private DataSealersealerData sealer.
-
Constructor Summary
Constructors Constructor Description SealedPrincipalSerializer(Class<T> claz, String name)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected StringgetName(String serializedName)Return the appropriate value to create thePrincipalaround based on the serialized form.protected StringgetName(Principal principal)Return the appropriate value to serialize from the input object.voidsetDataSealer(DataSealer theSealer)Set theDataSealerto use.booleansupports(String value)Whether the supplied value can be deserialized.booleansupports(Principal principal)Whether the supplied principal can be serialized.-
Methods inherited from class net.shibboleth.idp.authn.principal.SimplePrincipalSerializer
deserialize, serialize
-
Methods inherited from class net.shibboleth.idp.authn.principal.AbstractPrincipalSerializer
getJsonGenerator, getJsonReader
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, doInitialize, initialize, isDestroyed, isInitialized
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.shibboleth.utilities.java.support.component.InitializableComponent
initialize, isInitialized
-
-
-
-
Field Detail
-
PASSWORD_FIELD
@Nonnull @NotEmpty private static final String PASSWORD_FIELD
Field name of password.- See Also:
- Constant Field Values
-
log
@Nonnull private final org.slf4j.Logger log
Class logger.
-
sealer
@Nullable private DataSealer sealer
Data sealer.
-
-
Constructor Detail
-
SealedPrincipalSerializer
public SealedPrincipalSerializer(@Nonnull @ParameterName(name="claz") Class<T> claz, @Nonnull @NotEmpty @ParameterName(name="name") String name) throws NoSuchMethodException, SecurityException
Constructor.- Parameters:
claz- principal typename- field name of JSON structure- Throws:
SecurityException- if the constructor cannot be accessedNoSuchMethodException- if the constructor does not exist
-
-
Method Detail
-
setDataSealer
public void setDataSealer(@Nullable DataSealer theSealer)Set theDataSealerto use.- Parameters:
theSealer- encrypting component to use
-
supports
public boolean supports(@Nonnull Principal principal)Whether the supplied principal can be serialized.- Specified by:
supportsin interfacePrincipalSerializer<T extends Principal>- Overrides:
supportsin classSimplePrincipalSerializer<T extends Principal>- Parameters:
principal- to examine- Returns:
- whether principal can be serialized
-
supports
public boolean supports(@Nonnull @NotEmpty String value)
Whether the supplied value can be deserialized.- Specified by:
supportsin interfacePrincipalSerializer<T extends Principal>- Overrides:
supportsin classSimplePrincipalSerializer<T extends Principal>- Parameters:
value- to examine- Returns:
- whether value can be deserialized
-
getName
protected String getName(@Nonnull Principal principal) throws IOException
Return the appropriate value to serialize from the input object.- Overrides:
getNamein classSimplePrincipalSerializer<T extends Principal>- Parameters:
principal- input object- Returns:
- the value to serialize.
- Throws:
IOException- if an error occurs
-
getName
protected String getName(@Nullable String serializedName) throws IOException
Return the appropriate value to create thePrincipalaround based on the serialized form.- Overrides:
getNamein classSimplePrincipalSerializer<T extends Principal>- Parameters:
serializedName- the value in the serialization.- Returns:
- the transformed value
- Throws:
IOException- if an error occurs
-
-