Class AbstractAttributeToRoleMapper

  • 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:
    AdvancedAttributeToRoleMapper, AttributeToRoleMapper

    public abstract class AbstractAttributeToRoleMapper
    extends org.keycloak.broker.provider.AbstractIdentityProviderMapper
    Abstract class that handles the logic for importing and updating brokered users for all mappers that map a SAML attribute into a Keycloak role.
    Author:
    Stefan Guilhen, Daniel Fesenmeyer
    • Field Summary

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

        ANY_PROVIDER, DEFAULT_IDENTITY_PROVIDER_MAPPER_SYNC_MODES
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      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.
      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)  
      • Methods inherited from class org.keycloak.broker.provider.AbstractIdentityProviderMapper

        close, create, init, postInit, preprocessFederatedIdentity, updateBrokeredUserLegacy
      • 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 Detail

      • AbstractAttributeToRoleMapper

        public AbstractAttributeToRoleMapper()
    • Method Detail

      • 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
      • 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 SAML attribute 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.