Class BaseCryptoTransientDecoder
java.lang.Object
net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
net.shibboleth.idp.saml.nameid.impl.BaseCryptoTransientDecoder
- All Implemented Interfaces:
Component
,DestructableComponent
,IdentifiableComponent
,IdentifiedComponent
,InitializableComponent
- Direct Known Subclasses:
CryptoTransientNameIDDecoder
,CryptoTransientNameIdentifierDecoder
public abstract class BaseCryptoTransientDecoder extends AbstractIdentifiableInitializableComponent
An abstract action which contains the logic to do crypto transient decoding matching. This reverses the work done by
CryptoTransientIdGenerationStrategy
-
Field Summary
Fields Modifier and Type Field Description private DataSealer
dataSealer
Object used to protect and encrypt the data.private org.slf4j.Logger
log
Class logger.private String
logPrefix
cache for the log prefix - to save multiple recalculations. -
Constructor Summary
Constructors Constructor Description BaseCryptoTransientDecoder()
-
Method Summary
Modifier and Type Method Description protected String
decode(String transientId, String requesterId)
Convert the transient Id into the principal.protected void
doInitialize()
DataSealer
getDataSealer()
Get the Data Sealer we are using.protected String
getLogPrefix()
Return a prefix for logging messages for this component.void
setDataSealer(DataSealer sealer)
Set the Data Sealer we should use.Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
setId
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
getId
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, 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.IdentifiedComponent
getId
-
Field Details
-
log
@Nonnull private final org.slf4j.Logger logClass logger. -
dataSealer
Object used to protect and encrypt the data. -
logPrefix
cache for the log prefix - to save multiple recalculations.
-
-
Constructor Details
-
BaseCryptoTransientDecoder
public BaseCryptoTransientDecoder()
-
-
Method Details
-
getDataSealer
Get the Data Sealer we are using.- Returns:
- the Data Sealer we are using.
-
setDataSealer
Set the Data Sealer we should use.- Parameters:
sealer
- the Data Sealer to use.
-
decode
@Nullable @NotEmpty protected String decode(@Nonnull String transientId, @Nonnull @NotEmpty String requesterId) throws NameDecoderExceptionConvert the transient Id into the principal.- Parameters:
transientId
- the encrypted transientIDrequesterId
- the requester ID- Returns:
- the decoded entity.
- Throws:
NameDecoderException
- if a decode error occurs.
-
doInitialize
- Overrides:
doInitialize
in classAbstractIdentifiedInitializableComponent
- Throws:
ComponentInitializationException
-
getLogPrefix
Return a prefix for logging messages for this component.- Returns:
- a string for insertion at the beginning of any log messages
-