Interface IdentityProviderMapper

All Superinterfaces:
org.keycloak.provider.ConfiguredProvider, org.keycloak.provider.Provider, org.keycloak.provider.ProviderFactory<IdentityProviderMapper>
All Known Implementing Classes:
AbstractIdentityProviderMapper

public interface IdentityProviderMapper extends org.keycloak.provider.Provider, org.keycloak.provider.ProviderFactory<IdentityProviderMapper>, org.keycloak.provider.ConfiguredProvider
Version:
$Revision: 1 $
Author:
Bill Burke
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
    static final Set<org.keycloak.models.IdentityProviderSyncMode>
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
     
     
    void
    importNewUser(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.models.IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context)
    Called after UserModel is created for first time for this user.
    void
    preprocessFederatedIdentity(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context)
    Called to determine what keycloak username and email to use to process the login request from the external IDP.
    default 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, BrokeredIdentityContext context)
    Called when this user has logged in before and has already been imported.
    void
    updateBrokeredUserLegacy(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.models.IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context)
    Called when this user has logged in before and has already been imported.

    Methods inherited from interface org.keycloak.provider.ConfiguredProvider

    getConfig, getConfigProperties, getHelpText

    Methods inherited from interface org.keycloak.provider.Provider

    close

    Methods inherited from interface org.keycloak.provider.ProviderFactory

    close, create, dependsOn, getConfigMetadata, getId, init, order, postInit
  • Field Details

    • ANY_PROVIDER

      static final String ANY_PROVIDER
      See Also:
    • DEFAULT_IDENTITY_PROVIDER_MAPPER_SYNC_MODES

      static final Set<org.keycloak.models.IdentityProviderSyncMode> DEFAULT_IDENTITY_PROVIDER_MAPPER_SYNC_MODES
  • Method Details

    • getCompatibleProviders

      String[] getCompatibleProviders()
    • getDisplayCategory

      String getDisplayCategory()
    • getDisplayType

      String getDisplayType()
    • supportsSyncMode

      default boolean supportsSyncMode(org.keycloak.models.IdentityProviderSyncMode syncMode)
    • preprocessFederatedIdentity

      void preprocessFederatedIdentity(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context)
      Called to determine what keycloak username and email to use to process the login request from the external IDP. It's called before "FirstBrokerLogin" flow, so can be used to map attributes to BrokeredIdentityContext ( BrokeredIdentityContext.setUserAttribute ), which will be available on "Review Profile" page and in authenticators during FirstBrokerLogin flow
      Parameters:
      session -
      realm -
      mapperModel -
      context -
    • importNewUser

      void importNewUser(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.models.IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context)
      Called after UserModel is created for first time for this user. Called after "FirstBrokerLogin" flow
      Parameters:
      session -
      realm -
      user -
      mapperModel -
      context -
    • updateBrokeredUserLegacy

      void updateBrokeredUserLegacy(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.models.IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context)
      Called when this user has logged in before and has already been imported. Legacy behaviour. When updating the mapper to correctly update brokered users in all sync modes, move the old behavior into this method.
      Parameters:
      session -
      realm -
      user -
      mapperModel -
      context -
    • updateBrokeredUser

      void updateBrokeredUser(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.models.IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context)
      Called when this user has logged in before and has already been imported.
      Parameters:
      session -
      realm -
      user -
      mapperModel -
      context -