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 Summary
Fields Modifier and Type Field Description static StringPROVIDER_IDstatic StringSCRIPT-
Fields inherited from class org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper
TOKEN_MAPPER_CATEGORY
-
-
Constructor Summary
Constructors Constructor Description ScriptBasedOIDCProtocolMapper()
-
Method Summary
All 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.AbstractOIDCProtocolMapper
close, create, getProtocol, init, postInit, setClaim, transformAccessToken, transformAccessTokenResponse, transformIDToken, transformUserInfoToken
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.keycloak.provider.ConfiguredProvider
getConfig
-
Methods inherited from interface org.keycloak.provider.EnvironmentDependentProviderFactory
isSupported
-
Methods inherited from interface org.keycloak.protocol.oidc.mappers.OIDCAccessTokenMapper
transformAccessToken
-
Methods inherited from interface org.keycloak.protocol.oidc.mappers.OIDCAccessTokenResponseMapper
transformAccessTokenResponse
-
Methods inherited from interface org.keycloak.protocol.oidc.mappers.OIDCIDTokenMapper
transformIDToken
-
Methods inherited from interface org.keycloak.provider.ProviderFactory
getConfigMetadata, order
-
Methods inherited from interface org.keycloak.protocol.oidc.mappers.UserInfoTokenMapper
transformUserInfoToken
-
-
-
-
Field Detail
-
PROVIDER_ID
public static final String PROVIDER_ID
- See Also:
- Constant Field Values
-
SCRIPT
public static final String SCRIPT
- See Also:
- Constant Field Values
-
-
Method Detail
-
getConfigProperties
public List<ProviderConfigProperty> getConfigProperties()
- Specified by:
getConfigPropertiesin interfaceConfiguredProvider
-
getId
public String getId()
- Specified by:
getIdin interfaceProviderFactory<ProtocolMapper>
-
getDisplayType
public String getDisplayType()
- Specified by:
getDisplayTypein interfaceProtocolMapper
-
getDisplayCategory
public String getDisplayCategory()
- Specified by:
getDisplayCategoryin interfaceProtocolMapper
-
getHelpText
public String getHelpText()
- Specified by:
getHelpTextin interfaceConfiguredProvider
-
isSupported
public boolean isSupported()
- Specified by:
isSupportedin interfaceEnvironmentDependentProviderFactory- Returns:
trueif the provider is supported and should be available,falseotherwise
-
getPriority
public int getPriority()
Description copied from interface:ProtocolMapperPriority of this protocolMapper implementation. Lower goes first.- Specified by:
getPriorityin interfaceProtocolMapper- Returns:
-
setClaim
protected 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 classAbstractOIDCProtocolMapper
-
setClaim
protected 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 classAbstractOIDCProtocolMapper
-
validateConfig
public 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 interfaceProtocolMapperclient- client or clientTemplate- Throws:
ProtocolMapperConfigException- if configuration provided in mapperModel is not valid
-
getScriptCode
protected String getScriptCode(ProtocolMapperModel mapperModel)
-
-