Class ScriptBasedOIDCProtocolMapper
java.lang.Object
org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper
org.keycloak.protocol.oidc.mappers.ScriptBasedOIDCProtocolMapper
- All Implemented Interfaces:
OIDCAccessTokenMapper
,OIDCAccessTokenResponseMapper
,OIDCIDTokenMapper
,TokenIntrospectionTokenMapper
,UserInfoTokenMapper
,ProtocolMapper
,ConfiguredProvider
,EnvironmentDependentProviderFactory
,Provider
,ProviderFactory<ProtocolMapper>
- Direct Known Subclasses:
DeployedScriptOIDCProtocolMapper
public class ScriptBasedOIDCProtocolMapper
extends AbstractOIDCProtocolMapper
implements OIDCAccessTokenMapper, OIDCIDTokenMapper, UserInfoTokenMapper, OIDCAccessTokenResponseMapper, TokenIntrospectionTokenMapper, EnvironmentDependentProviderFactory
OIDC
ProtocolMapper
that uses a provided JavaScript fragment to compute the token claim value.- Author:
- Thomas Darimont
-
Field Summary
Fields inherited from class org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper
TOKEN_MAPPER_CATEGORY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic ProtocolMapperModel
create
(String name, String userAttribute, String tokenClaimName, String claimType, boolean accessToken, boolean idToken, boolean introspectionEndpoint, String script, boolean multiValued) getId()
int
Priority of this protocolMapper implementation.protected String
getScriptCode
(ProtocolMapperModel mapperModel) boolean
isSupported
(Config.Scope config) Check if the provider is supported and should be available based on the provider configuration.protected void
setClaim
(AccessTokenResponse accessTokenResponse, ProtocolMapperModel mappingModel, UserSessionModel userSession, KeycloakSession keycloakSession, ClientSessionContext clientSessionCtx) Intended to be overridden inProtocolMapper
implementations to add claims to an token.protected void
setClaim
(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession, KeycloakSession keycloakSession, ClientSessionContext clientSessionCtx) Intended to be overridden inProtocolMapper
implementations to add claims to an token.void
validateConfig
(KeycloakSession session, RealmModel realm, ProtocolMapperContainerModel client, ProtocolMapperModel mapperModel) Called when instance of mapperModel is created/updated for this protocolMapper through admin endpointMethods inherited from class org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper
close, create, getEffectiveModel, getProtocol, init, postInit, setClaim, transformAccessToken, transformAccessTokenResponse, transformIDToken, transformIntrospectionToken, 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.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.TokenIntrospectionTokenMapper
transformIntrospectionToken
Methods inherited from interface org.keycloak.protocol.oidc.mappers.UserInfoTokenMapper
transformUserInfoToken
-
Field Details
-
PROVIDER_ID
- See Also:
-
SCRIPT
- See Also:
-
-
Constructor Details
-
ScriptBasedOIDCProtocolMapper
public ScriptBasedOIDCProtocolMapper()
-
-
Method Details
-
getConfigProperties
- Specified by:
getConfigProperties
in interfaceConfiguredProvider
-
getId
- Specified by:
getId
in interfaceProviderFactory<ProtocolMapper>
-
getDisplayType
- Specified by:
getDisplayType
in interfaceProtocolMapper
-
getDisplayCategory
- Specified by:
getDisplayCategory
in interfaceProtocolMapper
-
getHelpText
- Specified by:
getHelpText
in interfaceConfiguredProvider
-
isSupported
Description copied from interface:EnvironmentDependentProviderFactory
Check if the provider is supported and should be available based on the provider configuration.- Specified by:
isSupported
in interfaceEnvironmentDependentProviderFactory
- Parameters:
config
- the provider configuration- Returns:
true
if the provider is supported. Otherwise,false
.
-
getPriority
public int getPriority()Description copied from interface:ProtocolMapper
Priority of this protocolMapper implementation. Lower goes first.- Specified by:
getPriority
in interfaceProtocolMapper
- Returns:
-
setClaim
protected void setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession, KeycloakSession keycloakSession, ClientSessionContext clientSessionCtx) Description copied from class:AbstractOIDCProtocolMapper
Intended to be overridden inProtocolMapper
implementations to add claims to an token.- Overrides:
setClaim
in classAbstractOIDCProtocolMapper
-
setClaim
protected void setClaim(AccessTokenResponse accessTokenResponse, ProtocolMapperModel mappingModel, UserSessionModel userSession, KeycloakSession keycloakSession, ClientSessionContext clientSessionCtx) Description copied from class:AbstractOIDCProtocolMapper
Intended to be overridden inProtocolMapper
implementations to add claims to an token.- Overrides:
setClaim
in classAbstractOIDCProtocolMapper
-
validateConfig
public void validateConfig(KeycloakSession session, RealmModel realm, ProtocolMapperContainerModel client, ProtocolMapperModel mapperModel) throws ProtocolMapperConfigException Description copied from interface:ProtocolMapper
Called when instance of mapperModel is created/updated for this protocolMapper through admin endpoint- Specified by:
validateConfig
in interfaceProtocolMapper
client
- client or clientTemplate- Throws:
ProtocolMapperConfigException
- if configuration provided in mapperModel is not valid
-
getScriptCode
-
create
-