Package org.keycloak.broker.saml.mappers
Class XPathAttributeMapper
- java.lang.Object
-
- org.keycloak.broker.provider.AbstractIdentityProviderMapper
-
- org.keycloak.broker.saml.mappers.XPathAttributeMapper
-
- All Implemented Interfaces:
IdentityProviderMapper,SamlMetadataDescriptorUpdater,ConfiguredProvider,Provider,ProviderFactory<IdentityProviderMapper>
public class XPathAttributeMapper extends AbstractIdentityProviderMapper implements SamlMetadataDescriptorUpdater
-
-
Field Summary
Fields Modifier and Type Field Description static StringATTRIBUTE_FRIENDLY_NAMEstatic StringATTRIBUTE_NAMEstatic StringATTRIBUTE_XPATHstatic String[]COMPATIBLE_PROVIDERSstatic StringPROVIDER_IDstatic StringUSER_ATTRIBUTE-
Fields inherited from interface org.keycloak.broker.provider.IdentityProviderMapper
ANY_PROVIDER, DEFAULT_IDENTITY_PROVIDER_MAPPER_SYNC_MODES
-
-
Constructor Summary
Constructors Constructor Description XPathAttributeMapper()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String[]getCompatibleProviders()List<ProviderConfigProperty>getConfigProperties()StringgetDisplayCategory()StringgetDisplayType()StringgetHelpText()StringgetId()voidpreprocessFederatedIdentity(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.booleansupportsSyncMode(IdentityProviderSyncMode syncMode)voidupdateBrokeredUser(KeycloakSession session, RealmModel realm, UserModel user, IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context)Called when this user has logged in before and has already been imported.voidupdateMetadata(IdentityProviderMapperModel mapperModel, EntityDescriptorType entityDescriptor)-
Methods inherited from class org.keycloak.broker.provider.AbstractIdentityProviderMapper
close, create, importNewUser, init, postInit, updateBrokeredUserLegacy
-
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
-
Methods inherited from interface org.keycloak.provider.ProviderFactory
getConfigMetadata, order
-
-
-
-
Field Detail
-
COMPATIBLE_PROVIDERS
public static final String[] COMPATIBLE_PROVIDERS
-
ATTRIBUTE_XPATH
public static final String ATTRIBUTE_XPATH
- See Also:
- Constant Field Values
-
ATTRIBUTE_NAME
public static final String ATTRIBUTE_NAME
- See Also:
- Constant Field Values
-
ATTRIBUTE_FRIENDLY_NAME
public static final String ATTRIBUTE_FRIENDLY_NAME
- See Also:
- Constant Field Values
-
USER_ATTRIBUTE
public static final String USER_ATTRIBUTE
- See Also:
- Constant Field Values
-
PROVIDER_ID
public static final String PROVIDER_ID
- See Also:
- Constant Field Values
-
-
Method Detail
-
supportsSyncMode
public boolean supportsSyncMode(IdentityProviderSyncMode syncMode)
- Specified by:
supportsSyncModein interfaceIdentityProviderMapper
-
getConfigProperties
public List<ProviderConfigProperty> getConfigProperties()
- Specified by:
getConfigPropertiesin interfaceConfiguredProvider
-
getId
public String getId()
- Specified by:
getIdin interfaceProviderFactory<IdentityProviderMapper>
-
getCompatibleProviders
public String[] getCompatibleProviders()
- Specified by:
getCompatibleProvidersin interfaceIdentityProviderMapper
-
getDisplayCategory
public String getDisplayCategory()
- Specified by:
getDisplayCategoryin interfaceIdentityProviderMapper
-
getDisplayType
public String getDisplayType()
- Specified by:
getDisplayTypein interfaceIdentityProviderMapper
-
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- Overrides:
preprocessFederatedIdentityin classAbstractIdentityProviderMapper
-
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- Overrides:
updateBrokeredUserin classAbstractIdentityProviderMapper
-
getHelpText
public String getHelpText()
- Specified by:
getHelpTextin interfaceConfiguredProvider
-
updateMetadata
public void updateMetadata(IdentityProviderMapperModel mapperModel, EntityDescriptorType entityDescriptor)
- Specified by:
updateMetadatain interfaceSamlMetadataDescriptorUpdater
-
-