Package org.keycloak.broker.provider
Class AbstractIdentityProviderMapper
- java.lang.Object
-
- org.keycloak.broker.provider.AbstractIdentityProviderMapper
-
- All Implemented Interfaces:
IdentityProviderMapper,ConfiguredProvider,Provider,ProviderFactory<IdentityProviderMapper>
- Direct Known Subclasses:
AbstractAttributeToGroupMapper,AbstractAttributeToRoleMapper,AbstractClaimMapper,AbstractJsonUserAttributeMapper,HardcodedAttributeMapper,HardcodedRoleMapper,HardcodedUserSessionAttributeMapper,UserAttributeMapper,UsernameTemplateMapper,XPathAttributeMapper
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
Constructors Constructor Description AbstractIdentityProviderMapper()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()This is called when the server shuts down.IdentityProviderMappercreate(KeycloakSession session)voidimportNewUser(KeycloakSession session, RealmModel realm, UserModel user, IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context)Called after UserModel is created for first time for this user.voidinit(Config.Scope config)Only called once when the factory is first created.voidpostInit(KeycloakSessionFactory factory)Called after all provider factories have been initializedvoidpreprocessFederatedIdentity(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.voidupdateBrokeredUser(KeycloakSession session, RealmModel realm, UserModel user, IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context)Called when this user has logged in before and has already been imported.voidupdateBrokeredUserLegacy(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
-
-
-
-
Method Detail
-
close
public void close()
Description copied from interface:ProviderFactoryThis is called when the server shuts down.- Specified by:
closein interfaceProvider- Specified by:
closein interfaceProviderFactory<IdentityProviderMapper>
-
create
public IdentityProviderMapper create(KeycloakSession session)
- Specified by:
createin interfaceProviderFactory<IdentityProviderMapper>
-
init
public void init(Config.Scope config)
Description copied from interface:ProviderFactoryOnly called once when the factory is first created. This config is pulled from keycloak_server.json- Specified by:
initin interfaceProviderFactory<IdentityProviderMapper>
-
postInit
public void postInit(KeycloakSessionFactory factory)
Description copied from interface:ProviderFactoryCalled after all provider factories have been initialized- Specified by:
postInitin interfaceProviderFactory<IdentityProviderMapper>
-
preprocessFederatedIdentity
public void preprocessFederatedIdentity(KeycloakSession session, RealmModel realm, IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context)
Description copied from interface:IdentityProviderMapperCalled 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:
preprocessFederatedIdentityin interfaceIdentityProviderMapper
-
importNewUser
public void importNewUser(KeycloakSession session, RealmModel realm, UserModel user, IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context)
Description copied from interface:IdentityProviderMapperCalled after UserModel is created for first time for this user. Called after "FirstBrokerLogin" flow- Specified by:
importNewUserin interfaceIdentityProviderMapper
-
updateBrokeredUser
public void updateBrokeredUser(KeycloakSession session, RealmModel realm, UserModel user, IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context)
Description copied from interface:IdentityProviderMapperCalled when this user has logged in before and has already been imported.- Specified by:
updateBrokeredUserin interfaceIdentityProviderMapper
-
updateBrokeredUserLegacy
public void updateBrokeredUserLegacy(KeycloakSession session, RealmModel realm, UserModel user, IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context)
Description copied from interface:IdentityProviderMapperCalled 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:
updateBrokeredUserLegacyin interfaceIdentityProviderMapper
-
-