Class ScriptBasedOIDCProtocolMapper
- java.lang.Object
-
- org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper
-
- org.keycloak.protocol.oidc.mappers.ScriptBasedOIDCProtocolMapper
-
- All Implemented Interfaces:
OIDCAccessTokenMapper
,OIDCAccessTokenResponseMapper
,OIDCIDTokenMapper
,UserInfoTokenMapper
,org.keycloak.protocol.ProtocolMapper
,org.keycloak.provider.ConfiguredProvider
,org.keycloak.provider.EnvironmentDependentProviderFactory
,org.keycloak.provider.Provider
,org.keycloak.provider.ProviderFactory<org.keycloak.protocol.ProtocolMapper>
- Direct Known Subclasses:
DeployedScriptOIDCProtocolMapper
public class ScriptBasedOIDCProtocolMapper extends AbstractOIDCProtocolMapper implements OIDCAccessTokenMapper, OIDCIDTokenMapper, UserInfoTokenMapper, OIDCAccessTokenResponseMapper, org.keycloak.provider.EnvironmentDependentProviderFactory
OIDCProtocolMapper
that uses a provided JavaScript fragment to compute the token claim value.- Author:
- Thomas Darimont
-
-
Field Summary
Fields Modifier and Type Field Description static String
PROVIDER_ID
static String
SCRIPT
-
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 org.keycloak.models.ProtocolMapperModel
create(String name, String userAttribute, String tokenClaimName, String claimType, boolean accessToken, boolean idToken, String script, boolean multiValued)
List<org.keycloak.provider.ProviderConfigProperty>
getConfigProperties()
String
getDisplayCategory()
String
getDisplayType()
String
getHelpText()
String
getId()
int
getPriority()
protected String
getScriptCode(org.keycloak.models.ProtocolMapperModel mapperModel)
boolean
isSupported()
protected void
setClaim(org.keycloak.representations.AccessTokenResponse accessTokenResponse, org.keycloak.models.ProtocolMapperModel mappingModel, org.keycloak.models.UserSessionModel userSession, org.keycloak.models.KeycloakSession keycloakSession, org.keycloak.models.ClientSessionContext clientSessionCtx)
Intended to be overridden inProtocolMapper
implementations to add claims to an token.protected void
setClaim(org.keycloak.representations.IDToken token, org.keycloak.models.ProtocolMapperModel mappingModel, org.keycloak.models.UserSessionModel userSession, org.keycloak.models.KeycloakSession keycloakSession, org.keycloak.models.ClientSessionContext clientSessionCtx)
Intended to be overridden inProtocolMapper
implementations to add claims to an token.void
validateConfig(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.ProtocolMapperContainerModel client, org.keycloak.models.ProtocolMapperModel mapperModel)
-
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.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.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<org.keycloak.provider.ProviderConfigProperty> getConfigProperties()
- Specified by:
getConfigProperties
in interfaceorg.keycloak.provider.ConfiguredProvider
-
getId
public String getId()
- Specified by:
getId
in interfaceorg.keycloak.provider.ProviderFactory<org.keycloak.protocol.ProtocolMapper>
-
getDisplayType
public String getDisplayType()
- Specified by:
getDisplayType
in interfaceorg.keycloak.protocol.ProtocolMapper
-
getDisplayCategory
public String getDisplayCategory()
- Specified by:
getDisplayCategory
in interfaceorg.keycloak.protocol.ProtocolMapper
-
getHelpText
public String getHelpText()
- Specified by:
getHelpText
in interfaceorg.keycloak.provider.ConfiguredProvider
-
isSupported
public boolean isSupported()
- Specified by:
isSupported
in interfaceorg.keycloak.provider.EnvironmentDependentProviderFactory
-
getPriority
public int getPriority()
- Specified by:
getPriority
in interfaceorg.keycloak.protocol.ProtocolMapper
-
setClaim
protected void setClaim(org.keycloak.representations.IDToken token, org.keycloak.models.ProtocolMapperModel mappingModel, org.keycloak.models.UserSessionModel userSession, org.keycloak.models.KeycloakSession keycloakSession, org.keycloak.models.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(org.keycloak.representations.AccessTokenResponse accessTokenResponse, org.keycloak.models.ProtocolMapperModel mappingModel, org.keycloak.models.UserSessionModel userSession, org.keycloak.models.KeycloakSession keycloakSession, org.keycloak.models.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(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.ProtocolMapperContainerModel client, org.keycloak.models.ProtocolMapperModel mapperModel) throws org.keycloak.protocol.ProtocolMapperConfigException
- Specified by:
validateConfig
in interfaceorg.keycloak.protocol.ProtocolMapper
- Throws:
org.keycloak.protocol.ProtocolMapperConfigException
-
getScriptCode
protected String getScriptCode(org.keycloak.models.ProtocolMapperModel mapperModel)
-
-