Class OIDCByteAttributeTranscoder
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- net.shibboleth.idp.attribute.transcoding.AbstractAttributeTranscoder<net.minidev.json.JSONObject>
-
- net.shibboleth.oidc.attribute.transcoding.AbstractOIDCAttributeTranscoder
-
- net.shibboleth.oidc.attribute.transcoding.impl.OIDCByteAttributeTranscoder
-
- All Implemented Interfaces:
AttributeTranscoder<net.minidev.json.JSONObject>,OIDCAttributeTranscoder,Component,DestructableComponent,InitializableComponent
public class OIDCByteAttributeTranscoder extends AbstractOIDCAttributeTranscoder
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
PROP_ARRAY_AS_STRING, PROP_ASARRAY, PROP_ASBOOLEAN, PROP_ASINTEGER, PROP_BOOLEAN_AS_STRING, PROP_NAME, PROP_NUMBER_AS_STRING, PROP_STRING_DELIMITER
-
-
Constructor Summary
Constructors Constructor Description OIDCByteAttributeTranscoder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected 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, getEncodedType
-
Methods inherited from class net.shibboleth.idp.attribute.transcoding.AbstractAttributeTranscoder
decode, encode, setActivationCondition
-
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.idp.attribute.transcoding.AttributeTranscoder
decode, encode
-
Methods inherited from interface net.shibboleth.utilities.java.support.component.InitializableComponent
initialize, isInitialized
-
-
-
-
Method Detail
-
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 @NonnullElements 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
-
-