Class AbstractJsonUserAttributeMapper

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static String CONF_JSON_FIELD
      Config param where name of mapping source JSON User Profile field is stored.
      static String CONF_USER_ATTRIBUTE
      Config param where name of mapping target USer attribute is stored.
      static String CONTEXT_JSON_NODE
      Key in BrokeredIdentityContext.getContextData() where JsonNode with user profile is stored.
      protected static org.jboss.logging.Logger logger  
      protected static org.jboss.logging.Logger LOGGER_DUMP_USER_PROFILE  
      • Fields inherited from interface org.keycloak.broker.provider.IdentityProviderMapper

        ANY_PROVIDER, DEFAULT_IDENTITY_PROVIDER_MAPPER_SYNC_MODES
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      List<org.keycloak.provider.ProviderConfigProperty> getConfigProperties()  
      String getDisplayCategory()  
      String getDisplayType()  
      String getHelpText()  
      static Object getJsonValue​(com.fasterxml.jackson.databind.JsonNode baseNode, String fieldPath)  
      protected static Object getJsonValue​(org.keycloak.models.IdentityProviderMapperModel mapperModel, org.keycloak.broker.provider.BrokeredIdentityContext context)  
      void preprocessFederatedIdentity​(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.IdentityProviderMapperModel mapperModel, org.keycloak.broker.provider.BrokeredIdentityContext context)  
      static void storeUserProfileForMapper​(org.keycloak.broker.provider.BrokeredIdentityContext user, com.fasterxml.jackson.databind.JsonNode profile, String provider)
      Store used profile JsonNode into user context for later use by this mapper.
      boolean supportsSyncMode​(org.keycloak.models.IdentityProviderSyncMode syncMode)  
      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.provider.AbstractIdentityProviderMapper

        close, create, importNewUser, init, postInit
      • Methods inherited from interface org.keycloak.provider.ConfiguredProvider

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

        getCompatibleProviders
      • Methods inherited from interface org.keycloak.provider.ProviderFactory

        getConfigMetadata, getId, order
    • Field Detail

      • logger

        protected static final org.jboss.logging.Logger logger
      • LOGGER_DUMP_USER_PROFILE

        protected static final org.jboss.logging.Logger LOGGER_DUMP_USER_PROFILE
      • CONF_JSON_FIELD

        public static final String CONF_JSON_FIELD
        Config param where name of mapping source JSON User Profile field is stored.
        See Also:
        Constant Field Values
      • CONF_USER_ATTRIBUTE

        public static final String CONF_USER_ATTRIBUTE
        Config param where name of mapping target USer attribute is stored.
        See Also:
        Constant Field Values
      • CONTEXT_JSON_NODE

        public static final String CONTEXT_JSON_NODE
        Key in BrokeredIdentityContext.getContextData() where JsonNode with user profile is stored.
        See Also:
        Constant Field Values
    • Constructor Detail

      • AbstractJsonUserAttributeMapper

        public AbstractJsonUserAttributeMapper()
    • Method Detail

      • storeUserProfileForMapper

        public static void storeUserProfileForMapper​(org.keycloak.broker.provider.BrokeredIdentityContext user,
                                                     com.fasterxml.jackson.databind.JsonNode profile,
                                                     String provider)
        Store used profile JsonNode into user context for later use by this mapper. Profile data are dumped into special logger if enabled also to allow investigation of the structure.
        Parameters:
        user - context to store profile data into
        profile - to store into context
        provider - identification of social provider to be used in log dump
        See Also:
        preprocessFederatedIdentity(KeycloakSession, RealmModel, IdentityProviderMapperModel, BrokeredIdentityContext), BrokeredIdentityContext.getContextData()
      • supportsSyncMode

        public boolean supportsSyncMode​(org.keycloak.models.IdentityProviderSyncMode syncMode)
      • getConfigProperties

        public List<org.keycloak.provider.ProviderConfigProperty> getConfigProperties()
      • getDisplayCategory

        public String getDisplayCategory()
      • getDisplayType

        public String getDisplayType()
      • getHelpText

        public String getHelpText()
      • preprocessFederatedIdentity

        public void preprocessFederatedIdentity​(org.keycloak.models.KeycloakSession session,
                                                org.keycloak.models.RealmModel realm,
                                                org.keycloak.models.IdentityProviderMapperModel mapperModel,
                                                org.keycloak.broker.provider.BrokeredIdentityContext context)
        Specified by:
        preprocessFederatedIdentity in interface org.keycloak.broker.provider.IdentityProviderMapper
        Overrides:
        preprocessFederatedIdentity 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
      • getJsonValue

        protected static Object getJsonValue​(org.keycloak.models.IdentityProviderMapperModel mapperModel,
                                             org.keycloak.broker.provider.BrokeredIdentityContext context)
      • getJsonValue

        public static Object getJsonValue​(com.fasterxml.jackson.databind.JsonNode baseNode,
                                          String fieldPath)