Package org.keycloak.broker.provider
Class AbstractIdentityProviderMapper
java.lang.Object
org.keycloak.broker.provider.AbstractIdentityProviderMapper
- All Implemented Interfaces:
IdentityProviderMapper
,ConfiguredProvider
,Provider
,ProviderFactory<IdentityProviderMapper>
public abstract class AbstractIdentityProviderMapper
extends Object
implements IdentityProviderMapper
- Version:
- $Revision: 1 $
- Author:
- Bill Burke
-
Field Summary
Fields inherited from interface org.keycloak.broker.provider.IdentityProviderMapper
ANY_PROVIDER, DEFAULT_IDENTITY_PROVIDER_MAPPER_SYNC_MODES
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
create
(KeycloakSession session) void
importNewUser
(KeycloakSession session, RealmModel realm, UserModel user, IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context) Called after UserModel is created for first time for this user.void
init
(Config.Scope config) void
postInit
(KeycloakSessionFactory factory) void
preprocessFederatedIdentity
(KeycloakSession session, RealmModel realm, IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context) Called to determine what keycloak username and email to use to process the login request from the external IDP.void
updateBrokeredUser
(KeycloakSession session, RealmModel realm, UserModel user, IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context) Called when this user has logged in before and has already been imported.void
updateBrokeredUserLegacy
(KeycloakSession session, RealmModel realm, UserModel user, IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context) Called when this user has logged in before and has already been imported.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
-
AbstractIdentityProviderMapper
public AbstractIdentityProviderMapper()
-
-
Method Details
-
close
public void close()- Specified by:
close
in interfaceProvider
- Specified by:
close
in interfaceProviderFactory<IdentityProviderMapper>
-
create
- Specified by:
create
in interfaceProviderFactory<IdentityProviderMapper>
-
init
- Specified by:
init
in interfaceProviderFactory<IdentityProviderMapper>
-
postInit
- Specified by:
postInit
in interfaceProviderFactory<IdentityProviderMapper>
-
preprocessFederatedIdentity
public void preprocessFederatedIdentity(KeycloakSession session, RealmModel realm, 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 interfaceIdentityProviderMapper
-
importNewUser
public void importNewUser(KeycloakSession session, RealmModel realm, UserModel user, 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 interfaceIdentityProviderMapper
-
updateBrokeredUser
public void updateBrokeredUser(KeycloakSession session, RealmModel realm, UserModel user, 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 interfaceIdentityProviderMapper
-
updateBrokeredUserLegacy
public void updateBrokeredUserLegacy(KeycloakSession session, RealmModel realm, UserModel user, 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 interfaceIdentityProviderMapper
-