Class ScriptBasedOIDCProtocolMapper
- java.lang.Object
- 
- org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper
- 
- org.keycloak.protocol.oidc.mappers.ScriptBasedOIDCProtocolMapper
 
 
- 
- All Implemented Interfaces:
- OIDCAccessTokenMapper,- OIDCAccessTokenResponseMapper,- OIDCIDTokenMapper,- UserInfoTokenMapper,- ProtocolMapper,- ConfiguredProvider,- EnvironmentDependentProviderFactory,- Provider,- ProviderFactory<ProtocolMapper>
 - Direct Known Subclasses:
- DeployedScriptOIDCProtocolMapper
 
 public class ScriptBasedOIDCProtocolMapper extends AbstractOIDCProtocolMapper implements OIDCAccessTokenMapper, OIDCIDTokenMapper, UserInfoTokenMapper, OIDCAccessTokenResponseMapper, EnvironmentDependentProviderFactory OIDCProtocolMapperthat uses a provided JavaScript fragment to compute the token claim value.- Author:
- Thomas Darimont
 
- 
- 
Field SummaryFields Modifier and Type Field Description static StringPROVIDER_IDstatic StringSCRIPT- 
Fields inherited from class org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapperTOKEN_MAPPER_CATEGORY
 
- 
 - 
Constructor SummaryConstructors Constructor Description ScriptBasedOIDCProtocolMapper()
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ProtocolMapperModelcreate(String name, String userAttribute, String tokenClaimName, String claimType, boolean accessToken, boolean idToken, String script, boolean multiValued)List<ProviderConfigProperty>getConfigProperties()StringgetDisplayCategory()StringgetDisplayType()StringgetHelpText()StringgetId()intgetPriority()Priority of this protocolMapper implementation.protected StringgetScriptCode(ProtocolMapperModel mapperModel)booleanisSupported()protected voidsetClaim(AccessTokenResponse accessTokenResponse, ProtocolMapperModel mappingModel, UserSessionModel userSession, KeycloakSession keycloakSession, ClientSessionContext clientSessionCtx)Intended to be overridden inProtocolMapperimplementations to add claims to an token.protected voidsetClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession, KeycloakSession keycloakSession, ClientSessionContext clientSessionCtx)Intended to be overridden inProtocolMapperimplementations to add claims to an token.voidvalidateConfig(KeycloakSession session, RealmModel realm, ProtocolMapperContainerModel client, ProtocolMapperModel mapperModel)Called when instance of mapperModel is created/updated for this protocolMapper through admin endpoint- 
Methods inherited from class org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapperclose, create, getProtocol, init, postInit, setClaim, transformAccessToken, transformAccessTokenResponse, transformIDToken, transformUserInfoToken
 - 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface org.keycloak.provider.ConfiguredProvidergetConfig
 - 
Methods inherited from interface org.keycloak.provider.EnvironmentDependentProviderFactoryisSupported
 - 
Methods inherited from interface org.keycloak.protocol.oidc.mappers.OIDCAccessTokenMappertransformAccessToken
 - 
Methods inherited from interface org.keycloak.protocol.oidc.mappers.OIDCAccessTokenResponseMappertransformAccessTokenResponse
 - 
Methods inherited from interface org.keycloak.protocol.oidc.mappers.OIDCIDTokenMappertransformIDToken
 - 
Methods inherited from interface org.keycloak.provider.ProviderFactorygetConfigMetadata, order
 - 
Methods inherited from interface org.keycloak.protocol.oidc.mappers.UserInfoTokenMappertransformUserInfoToken
 
- 
 
- 
- 
- 
Field Detail- 
PROVIDER_IDpublic static final String PROVIDER_ID - See Also:
- Constant Field Values
 
 - 
SCRIPTpublic static final String SCRIPT - See Also:
- Constant Field Values
 
 
- 
 - 
Method Detail- 
getConfigPropertiespublic List<ProviderConfigProperty> getConfigProperties() - Specified by:
- getConfigPropertiesin interface- ConfiguredProvider
 
 - 
getIdpublic String getId() - Specified by:
- getIdin interface- ProviderFactory<ProtocolMapper>
 
 - 
getDisplayTypepublic String getDisplayType() - Specified by:
- getDisplayTypein interface- ProtocolMapper
 
 - 
getDisplayCategorypublic String getDisplayCategory() - Specified by:
- getDisplayCategoryin interface- ProtocolMapper
 
 - 
getHelpTextpublic String getHelpText() - Specified by:
- getHelpTextin interface- ConfiguredProvider
 
 - 
isSupportedpublic boolean isSupported() - Specified by:
- isSupportedin interface- EnvironmentDependentProviderFactory
- Returns:
- trueif the provider is supported and should be available,- falseotherwise
 
 - 
getPrioritypublic int getPriority() Description copied from interface:ProtocolMapperPriority of this protocolMapper implementation. Lower goes first.- Specified by:
- getPriorityin interface- ProtocolMapper
- Returns:
 
 - 
setClaimprotected void setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession, KeycloakSession keycloakSession, ClientSessionContext clientSessionCtx) Description copied from class:AbstractOIDCProtocolMapperIntended to be overridden inProtocolMapperimplementations to add claims to an token.- Overrides:
- setClaimin class- AbstractOIDCProtocolMapper
 
 - 
setClaimprotected void setClaim(AccessTokenResponse accessTokenResponse, ProtocolMapperModel mappingModel, UserSessionModel userSession, KeycloakSession keycloakSession, ClientSessionContext clientSessionCtx) Description copied from class:AbstractOIDCProtocolMapperIntended to be overridden inProtocolMapperimplementations to add claims to an token.- Overrides:
- setClaimin class- AbstractOIDCProtocolMapper
 
 - 
validateConfigpublic void validateConfig(KeycloakSession session, RealmModel realm, ProtocolMapperContainerModel client, ProtocolMapperModel mapperModel) throws ProtocolMapperConfigException Description copied from interface:ProtocolMapperCalled when instance of mapperModel is created/updated for this protocolMapper through admin endpoint- Specified by:
- validateConfigin interface- ProtocolMapper
- client- client or clientTemplate
- Throws:
- ProtocolMapperConfigException- if configuration provided in mapperModel is not valid
 
 - 
getScriptCodeprotected String getScriptCode(ProtocolMapperModel mapperModel) 
 
- 
 
-