Class AbstractClaimToRoleMapper

java.lang.Object
org.keycloak.broker.provider.AbstractIdentityProviderMapper
org.keycloak.broker.oidc.mappers.AbstractClaimMapper
org.keycloak.broker.oidc.mappers.AbstractClaimToRoleMapper
All Implemented Interfaces:
org.keycloak.broker.provider.IdentityProviderMapper, org.keycloak.provider.ConfiguredProvider, org.keycloak.provider.Provider, org.keycloak.provider.ProviderFactory<org.keycloak.broker.provider.IdentityProviderMapper>
Direct Known Subclasses:
AdvancedClaimToRoleMapper, ClaimToRoleMapper, ExternalKeycloakRoleToRoleMapper

public abstract class AbstractClaimToRoleMapper extends AbstractClaimMapper
Abstract class that handles the logic for importing and updating brokered users for all mappers that map an OIDC claim into a Keycloak role.
Author:
Stefan Guilhen, Daniel Fesenmeyer
  • Field Summary

    Fields inherited from class org.keycloak.broker.oidc.mappers.AbstractClaimMapper

    CLAIM, CLAIM_VALUE

    Fields inherited from interface org.keycloak.broker.provider.IdentityProviderMapper

    ANY_PROVIDER, DEFAULT_IDENTITY_PROVIDER_MAPPER_SYNC_MODES
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract boolean
    applies(org.keycloak.models.IdentityProviderMapperModel mapperModel, org.keycloak.broker.provider.BrokeredIdentityContext context)
    This method must be implemented by subclasses and they must return true if their mapping can be applied (i.e. user has the OIDC claim that should be mapped) or false otherwise.
    void
    importNewUser(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.models.IdentityProviderMapperModel mapperModel, org.keycloak.broker.provider.BrokeredIdentityContext context)
     
    void
    updateBrokeredUser(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.models.IdentityProviderMapperModel mapperModel, org.keycloak.broker.provider.BrokeredIdentityContext context)
     
    void
    updateBrokeredUserLegacy(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.models.IdentityProviderMapperModel mapperModel, org.keycloak.broker.provider.BrokeredIdentityContext context)
     

    Methods inherited from class org.keycloak.broker.oidc.mappers.AbstractClaimMapper

    getClaimValue, getClaimValue, getClaimValue, hasClaimValue, valueEquals

    Methods inherited from class org.keycloak.broker.provider.AbstractIdentityProviderMapper

    close, create, dependsOn, init, postInit, preprocessFederatedIdentity

    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, getConfigProperties, getHelpText

    Methods inherited from interface org.keycloak.broker.provider.IdentityProviderMapper

    getCompatibleProviders, getDisplayCategory, getDisplayType, supportsSyncMode

    Methods inherited from interface org.keycloak.provider.ProviderFactory

    getConfigMetadata, getId, order
  • Constructor Details

    • AbstractClaimToRoleMapper

      public AbstractClaimToRoleMapper()
  • Method Details

    • importNewUser

      public void importNewUser(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.models.IdentityProviderMapperModel mapperModel, org.keycloak.broker.provider.BrokeredIdentityContext context)
      Specified by:
      importNewUser in interface org.keycloak.broker.provider.IdentityProviderMapper
      Overrides:
      importNewUser in class org.keycloak.broker.provider.AbstractIdentityProviderMapper
    • updateBrokeredUserLegacy

      public void updateBrokeredUserLegacy(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.models.IdentityProviderMapperModel mapperModel, org.keycloak.broker.provider.BrokeredIdentityContext context)
      Specified by:
      updateBrokeredUserLegacy in interface org.keycloak.broker.provider.IdentityProviderMapper
      Overrides:
      updateBrokeredUserLegacy in class org.keycloak.broker.provider.AbstractIdentityProviderMapper
    • updateBrokeredUser

      public void updateBrokeredUser(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.models.IdentityProviderMapperModel mapperModel, org.keycloak.broker.provider.BrokeredIdentityContext context)
      Specified by:
      updateBrokeredUser in interface org.keycloak.broker.provider.IdentityProviderMapper
      Overrides:
      updateBrokeredUser in class org.keycloak.broker.provider.AbstractIdentityProviderMapper
    • applies

      protected abstract boolean applies(org.keycloak.models.IdentityProviderMapperModel mapperModel, org.keycloak.broker.provider.BrokeredIdentityContext context)
      This method must be implemented by subclasses and they must return true if their mapping can be applied (i.e. user has the OIDC claim that should be mapped) or false otherwise.
      Parameters:
      mapperModel - a reference to the IdentityProviderMapperModel.
      context - a reference to the BrokeredIdentityContext.
      Returns:
      true if the mapping can be applied or false otherwise.*