18.13. 添加映射程序

添加硬编码角色 LDAP 映射器

  1. 组件 端点上运行 create 命令。
  2. providerType 属性设置为 org.keycloak.storage.ldap.mappers.LDAPStorageMapper
  3. parentId 属性设置为 LDAP 提供程序实例的 ID。
  4. providerId 属性设置为 hardcoded-ldap-role-mapper。确保提供 角色 配置参数值。

    例如:

    $ kcadm.sh create components -r demorealm -s name=hardcoded-ldap-role-mapper -s providerId=hardcoded-ldap-role-mapper -s providerType=org.keycloak.storage.ldap.mappers.LDAPStorageMapper -s parentId=b7c63d02-b62a-4fc1-977c-947d6a09e1ea -s 'config.role=["realm-management.create-client"]'

添加 MS Active Directory 映射器

  1. 组件 端点上运行 create 命令。
  2. providerType 属性设置为 org.keycloak.storage.ldap.mappers.LDAPStorageMapper
  3. parentId 属性设置为 LDAP 提供程序实例的 ID。
  4. providerId 属性设置为 msad-user-account-control-mapper

    例如:

    $ kcadm.sh create components -r demorealm -s name=msad-user-account-control-mapper -s providerId=msad-user-account-control-mapper -s providerType=org.keycloak.storage.ldap.mappers.LDAPStorageMapper -s parentId=b7c63d02-b62a-4fc1-977c-947d6a09e1ea

添加用户属性 LDAP 映射器

  1. 组件 端点上运行 create 命令。
  2. providerType 属性设置为 org.keycloak.storage.ldap.mappers.LDAPStorageMapper
  3. parentId 属性设置为 LDAP 提供程序实例的 ID。
  4. providerId 属性设置为 user-attribute-ldap-mapper

    例如:

    $ kcadm.sh create components -r demorealm -s name=user-attribute-ldap-mapper -s providerId=user-attribute-ldap-mapper -s providerType=org.keycloak.storage.ldap.mappers.LDAPStorageMapper -s parentId=b7c63d02-b62a-4fc1-977c-947d6a09e1ea -s 'config."user.model.attribute"=["email"]' -s 'config."ldap.attribute"=["mail"]' -s 'config."read.only"=["false"]' -s 'config."always.read.value.from.ldap"=["false"]' -s 'config."is.mandatory.in.ldap"=["false"]'

添加组 LDAP 映射器

  1. 组件 端点上运行 create 命令。
  2. providerType 属性设置为 org.keycloak.storage.ldap.mappers.LDAPStorageMapper
  3. parentId 属性设置为 LDAP 提供程序实例的 ID。
  4. providerId 属性设置为 group-ldap-mapper

    例如:

    $ kcadm.sh create components -r demorealm -s name=group-ldap-mapper -s providerId=group-ldap-mapper -s providerType=org.keycloak.storage.ldap.mappers.LDAPStorageMapper -s parentId=b7c63d02-b62a-4fc1-977c-947d6a09e1ea -s 'config."groups.dn"=[]' -s 'config."group.name.ldap.attribute"=["cn"]' -s 'config."group.object.classes"=["groupOfNames"]' -s 'config."preserve.group.inheritance"=["true"]' -s 'config."membership.ldap.attribute"=["member"]' -s 'config."membership.attribute.type"=["DN"]' -s 'config."groups.ldap.filter"=[]' -s 'config.mode=["LDAP_ONLY"]' -s 'config."user.roles.retrieve.strategy"=["LOAD_GROUPS_BY_MEMBER_ATTRIBUTE"]' -s 'config."mapped.group.attributes"=["admins-group"]' -s 'config."drop.non.existing.groups.during.sync"=["false"]' -s 'config.roles=["admins"]' -s 'config.groups=["admins-group"]' -s 'config.group=[]' -s 'config.preserve=["true"]' -s 'config.membership=["member"]'

添加完整名称 LDAP 映射器

  1. 组件 端点上运行 create 命令。
  2. providerType 属性设置为 org.keycloak.storage.ldap.mappers.LDAPStorageMapper
  3. parentId 属性设置为 LDAP 提供程序实例的 ID。
  4. providerId 属性设置为 full-name-ldap-mapper

    例如:

    $ kcadm.sh create components -r demorealm -s name=full-name-ldap-mapper -s providerId=full-name-ldap-mapper -s providerType=org.keycloak.storage.ldap.mappers.LDAPStorageMapper -s parentId=b7c63d02-b62a-4fc1-977c-947d6a09e1ea -s 'config."ldap.full.name.attribute"=["cn"]' -s 'config."read.only"=["false"]' -s 'config."write.only"=["true"]'