Class OIDCScopedStringAttributeTranscoder
- 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.OIDCScopedStringAttributeTranscoder
-
- All Implemented Interfaces:
AttributeTranscoder<net.minidev.json.JSONObject>,OIDCAttributeTranscoder,Component,DestructableComponent,InitializableComponent
public class OIDCScopedStringAttributeTranscoder extends AbstractOIDCAttributeTranscoder
Class encoding scoped string attributes to string json object. Name of the attribute will be set as the key. The string contains attribute value, delimiter and scope concatenated. If there are several attribute values they are delimited with delimiter(space is default) or placed to array.For decoding, JSON Strings are split by the delimiter into a
ScopedStringAttributeValue. For JSON Arrays, the elements are recessively visited and any JSON Strings are split by their delimiter into a list ofScopedStringAttributeValues.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.shibboleth.oidc.attribute.transcoding.AbstractOIDCAttributeTranscoder
AbstractOIDCAttributeTranscoder.NamingFunction
-
-
Field Summary
Fields Modifier and Type Field Description private org.slf4j.LoggerlogClass logger.static StringPROP_SCOPE_DELIMITERScope delimiter for combining the data.-
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 OIDCScopedStringAttributeTranscoder()
-
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
-
-
-
-
Field Detail
-
PROP_SCOPE_DELIMITER
@Nonnull @NotEmpty public static final String PROP_SCOPE_DELIMITER
Scope delimiter for combining the data.- See Also:
- Constant Field Values
-
log
@Nonnull private final org.slf4j.Logger log
Class logger.
-
-
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
-
-