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