diff --git a/docbook/reference/en/en-US/modules/MigrationFromOlderVersions.xml b/docbook/reference/en/en-US/modules/MigrationFromOlderVersions.xml
index dc8e4404b6..68e48b4a1e 100755
--- a/docbook/reference/en/en-US/modules/MigrationFromOlderVersions.xml
+++ b/docbook/reference/en/en-US/modules/MigrationFromOlderVersions.xml
@@ -89,6 +89,19 @@
option to enable/disable for a realm is removed.
+
+ Database changed
+
+ There are again few database changes. Remember to backup your database prior to upgrading.
+
+
+
+ UserFederationProvider changed
+
+ There are few minor changes in UserFederationProvider interface. You may need to sync your implementation when upgrade
+ to newer version and upgrade few methods, which has changed signature. Changes are really minor, but were needed to improve performance of federation.
+
+ Migrating from 1.2.0.Beta1 to 1.2.0.RC1
diff --git a/docbook/reference/en/en-US/modules/user-federation.xml b/docbook/reference/en/en-US/modules/user-federation.xml
index a8e6c17358..c8e9856a3c 100755
--- a/docbook/reference/en/en-US/modules/user-federation.xml
+++ b/docbook/reference/en/en-US/modules/user-federation.xml
@@ -24,7 +24,8 @@
LDAP and Active Directory Plugin
- Keycloak comes with a built-in LDAP/AD plugin. Currently it is set up only to import username, email, first and last name.
+ Keycloak comes with a built-in LDAP/AD plugin. By default, it is set up only to import username, email, first and last name, but you are free
+ to configure mappers and add more attributes or delete default ones.
It supports password validation via LDAP/AD protocols and different user metadata synchronization modes. To configure
a federated LDAP store go to the admin console. Click on the Users menu option to get you
to the user management page. Then click on the Federation submenu option. When
@@ -41,7 +42,7 @@
READONLY
- Username, email, first and last name will be unchangable. Keycloak will show an error
+ Username, email, first and last name and other mapped attributes will be unchangeable. Keycloak will show an error
anytime anybody tries to update these fields. Also, password updates will not be supported.
@@ -50,7 +51,7 @@
WRITABLE
- Username, email, first and last name, and passwords can all be updated and will
+ Username, email, first and last name, other mapped attributes and passwords can all be updated and will
be synchronized automatically with your LDAP store.
@@ -158,6 +159,56 @@
In admin console, you can trigger sync directly or you can enable periodic changed or full sync.
+
+ LDAP/Federation mappers
+
+ LDAP mappers are listeners, which are triggered by LDAP Federation provider at various points and provide
+ another extension point to LDAP integration. They are triggered during import LDAP user into Keycloak, registration Keycloak user back to LDAP or when querying LDAP user from Keycloak.
+ When you create LDAP Federation provider, Keycloak will automatically provide set of builtin mappers for this provider.
+ You are free to change this set and create new mapper or update/delete existing ones.
+
+
+ By default, we have those implementation of LDAP federation mapper:
+
+
+ User Attribute Mapper
+
+
+ This allows to specify which LDAP attribute is mapped to which attribute of Keycloak User. So for example you can configure
+ that LDAP attribute mail is supposed to be mapped to the UserModel attribute email in Keycloak database.
+ For this mapper implementation, there is always one-to-one mapping (one LDAP attribute mapped to one Keycloak UserModel attribute)
+
+
+
+
+ FullName Mapper
+
+
+ This allows to specify that fullname of user, which is saved in some LDAP attribute (usualy cn ) will be mapped to
+ firstName and lastname attributes of UserModel. Having cn to contain full name of user
+ is common case for some LDAP deployments.
+
+
+
+
+ Role Mapper
+
+
+ This allows to configure role mappings from LDAP into Keycloak role mappings. One Role mapper can be used to map LDAP roles
+ (usually groups from particular branch of LDAP tree) into roles corresponding to either realm roles or client roles of specified client.
+ It's not a problem to configure more Role mappers for same LDAP provider. So for example you can specify that role mappings from groups under
+ ou=main,dc=example,dc=org will be mapped to realm role mappings and role mappings from
+ groups under ou=finance,dc=example,dc=org will be mapped to client role mappings of client finance .
+
+
+
+
+
+ By default, there is set of User Attribute mappers to map basic UserModel attributes username, first name, lastname and email to corresponding LDAP attributes. You are free to extend this and provide
+ more attribute mappings (For example to street, postalCode etc), delete firstName/lastname mapper and put fullName mapper instead, add role mappers etc.
+ Admin console provides tooltips, which should help on how to configure corresponding mappers.
+
+ Writing your own User Federation Provider