Class AbstractIdentityProviderMapper

java.lang.Object
org.keycloak.broker.provider.AbstractIdentityProviderMapper
All Implemented Interfaces:
IdentityProviderMapper, org.keycloak.provider.ConfiguredProvider, org.keycloak.provider.Provider, org.keycloak.provider.ProviderFactory<IdentityProviderMapper>

public abstract class AbstractIdentityProviderMapper extends Object implements IdentityProviderMapper
Version:
$Revision: 1 $
Author:
Bill Burke
  • Constructor Details

    • AbstractIdentityProviderMapper

      public AbstractIdentityProviderMapper()
  • Method Details

    • close

      public void close()
      Specified by:
      close in interface org.keycloak.provider.Provider
      Specified by:
      close in interface org.keycloak.provider.ProviderFactory<IdentityProviderMapper>
    • create

      public IdentityProviderMapper create(org.keycloak.models.KeycloakSession session)
      Specified by:
      create in interface org.keycloak.provider.ProviderFactory<IdentityProviderMapper>
    • init

      public void init(org.keycloak.Config.Scope config)
      Specified by:
      init in interface org.keycloak.provider.ProviderFactory<IdentityProviderMapper>
    • postInit

      public void postInit(org.keycloak.models.KeycloakSessionFactory factory)
      Specified by:
      postInit in interface org.keycloak.provider.ProviderFactory<IdentityProviderMapper>
    • preprocessFederatedIdentity

      public void preprocessFederatedIdentity(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context)
      Description copied from interface: IdentityProviderMapper
      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
      Specified by:
      preprocessFederatedIdentity in interface IdentityProviderMapper
    • importNewUser

      public void importNewUser(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.models.IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context)
      Description copied from interface: IdentityProviderMapper
      Called after UserModel is created for first time for this user. Called after "FirstBrokerLogin" flow
      Specified by:
      importNewUser in interface IdentityProviderMapper
    • updateBrokeredUser

      public void updateBrokeredUser(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.models.IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context)
      Description copied from interface: IdentityProviderMapper
      Called when this user has logged in before and has already been imported.
      Specified by:
      updateBrokeredUser in interface IdentityProviderMapper
    • updateBrokeredUserLegacy

      public void updateBrokeredUserLegacy(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.models.IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context)
      Description copied from interface: IdentityProviderMapper
      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.
      Specified by:
      updateBrokeredUserLegacy in interface IdentityProviderMapper
    • dependsOn

      public Set<Class<? extends org.keycloak.provider.Provider>> dependsOn()
      Specified by:
      dependsOn in interface org.keycloak.provider.ProviderFactory<IdentityProviderMapper>