Class OIDCByteAttributeTranscoder
java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
net.shibboleth.idp.attribute.transcoding.AbstractAttributeTranscoder<JSONObject>
net.shibboleth.oidc.attribute.transcoding.AbstractOIDCAttributeTranscoder
net.shibboleth.oidc.attribute.transcoding.impl.OIDCByteAttributeTranscoder
- All Implemented Interfaces:
AttributeTranscoder<JSONObject>,OIDCAttributeTranscoder,Component,DestructableComponent,InitializableComponent
Class encoding byte attributes to base64 encoded string json object. Name of the attribute will be set as the key.
The string contains base64 coded attribute value. If there are several attribute values they are delimited with
space. The output may be set also to array. The output may also be set to be int instead of b64. In that case each
value (byte[]) is converted to int array and placed into array.
-
Nested Class Summary
Nested classes/interfaces inherited from class net.shibboleth.oidc.attribute.transcoding.AbstractOIDCAttributeTranscoder
AbstractOIDCAttributeTranscoder.NamingFunction -
Field Summary
Fields inherited from interface net.shibboleth.oidc.attribute.transcoding.OIDCAttributeTranscoder
METADATA_TAG_NAME, PROP_ARRAY_AS_STRING, PROP_ASARRAY, PROP_ASBOOLEAN, PROP_ASINTEGER, PROP_BOOLEAN_AS_STRING, PROP_NAME, PROP_NAME_FROM_METADATA, PROP_NUMBER_AS_STRING, PROP_STRING_DELIMITER -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected List<IdPAttributeValue>decodeValues(ProfileRequestContext profileRequestContext, Object input, TranscodingRule rule) Subclasses should override this method to perform specific claim value decoding intoIdPAttributeValueobjects.protected ObjectencodeValues(ProfileRequestContext profileRequestContext, IdPAttribute attribute, TranscodingRule rule) Performs encoding ofIdPAttribute's values based on rule into a claim value.Methods inherited from class net.shibboleth.oidc.attribute.transcoding.AbstractOIDCAttributeTranscoder
buildClaim, buildIdPAttribute, doDecode, doEncode, getEncodedName, getEncodedName, getEncodedType, getNameFromMetadata, setNameFromMetadataLookupStrategyMethods inherited from class net.shibboleth.idp.attribute.transcoding.AbstractAttributeTranscoder
decode, encode, setActivationConditionMethods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent
checkComponentActive, checkSetterPreconditions, destroy, doDestroy, doInitialize, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, initialize, isDestroyed, isInitializedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.shibboleth.idp.attribute.transcoding.AttributeTranscoder
decode, encodeMethods inherited from interface net.shibboleth.shared.component.InitializableComponent
initialize, isInitialized
-
Constructor Details
-
OIDCByteAttributeTranscoder
public OIDCByteAttributeTranscoder()
-
-
Method Details
-
encodeValues
@Nullable protected Object encodeValues(@Nullable ProfileRequestContext profileRequestContext, @Nonnull IdPAttribute attribute, @Nonnull TranscodingRule rule) throws AttributeEncodingException Performs encoding ofIdPAttribute's values based on rule into a claim value.- Specified by:
encodeValuesin classAbstractOIDCAttributeTranscoder- Parameters:
profileRequestContext- current profile requestattribute- the attribute being encodedrule- properties to control encoding- Returns:
- Integer, Boolean, String, JSON Array or JSON Object value for claim
- Throws:
AttributeEncodingException- if there's a problem encoding the values
-
decodeValues
@Nonnull protected List<IdPAttributeValue> decodeValues(@Nullable ProfileRequestContext profileRequestContext, @Nonnull Object input, @Nonnull TranscodingRule rule) throws AttributeDecodingException Subclasses should override this method to perform specific claim value decoding intoIdPAttributeValueobjects.- Specified by:
decodeValuesin classAbstractOIDCAttributeTranscoder- Parameters:
profileRequestContext- current profile request contextinput- the raw claim valuerule- properties to control decoding- Returns:
- a possibly empty list of decoded values
- Throws:
AttributeDecodingException- if there's a problem decoding the claim value
-