keycloak中⽂使⽤⽂档_Keycloak使⽤⼿册数据库使⽤Mysql:
version: '2'
services:
mysql:
image: mysql:5.7.21
ports:
- "23306:3306"
environment:
- MYSQL_DATABASE=keycloak
- MYSQL_USER=keycloak
- MYSQL_PASSWORD=password
-
MYSQL_ROOT_PASSWORD=root_password
keycloak:
image: jboss/keycloak
volumes:
- /root/themes/keycloak-theme-login:/opt/jboss/keycloak/themes/keycloak-theme-login
ports:
- "28080:8080"
environment:
- KEYCLOAK_USER=admin
- KEYCLOAK_PASSWORD=admin
- MYSQL_ADDR=mysql
-
MYSQL_PORT=3306
- MYSQL_DATABASE=keycloak
- MYSQL_USER=keycloak
- MYSQL_PASSWORD=password
- KEYCLOAK_LOGLEVEL=ALL
- ROOT_LOGLEVEL=INFO
设置 realm及client
添加realm
添加realm后,所有的client都在此realm下设置。
添加 client
在对应的realm下创建client。
开始设置
获取 client_secret :
mysql操作官方文档与 LDAP 的联动
接⼊ LDAP
第⼀步:接⼊⼀个类型为LDAP的User Federation。
第⼆步:设置 LDAP的参数。
参数说明
Enabled: 是否启⽤
Console Display Name: 显⽰名称
Import Users: 导⼊⽤户,将从 LDAP 导⼊⽤户到 Keycloak DB
Edit Mode: 同步模式;只读:只从 LDAP读取,可写:数据将写回LDAP,UNSYNCED:⽤户被导⼊,但不再同步
*Username LDAP attribute: 在 LDAP 中代表⽤户名的字段
*UUID LDAP attribute: 在 LDAP 中代表⽤户名 uuid 的字段
*User Object Classes: 在 LDAP 中⽤户 object 类型,⽤于写⼊ LDAP,请正确设置,否则会因为字段校验失 败造成⽆法同步。如果是 openLdap,该项填 inetOrgPerson;如果是 AD,该项填 *
*Connection URL: 连接地址
*Users DN: ⽤户所在的 DN (⽬前 Keycloak 只⽀持单 DN)
*Authentication Type: 认证⽅式
*Bind DN: ⽤于登陆到 LDAP 的⽤户名
*Bind Credential: ⽤于登陆到 LDAP的密码 Custom User LDAP Filter: ⾃定义⽤户过滤规则
同步完LDPA⽤户后,可以在Keycloak的⽤户管理中看到:
同步LDAP⽤户时的属性设置
Keycloak中同步过来的⽤户属性与LDAP中只是⼀⼀对应关系,⽐如Username, Last name, First name。
这些都可以在User Federation的Mappers中进⾏修改:
注意
在LDAP或AD中设置账号,必须保证LDAP中cn项与uid项⼀致,否则DCS中⽆法定位Keycloak和LDAP是否同⼀个账号 。
Keycloak 定时同步 LDAP 设置
User Federation -> ldap -> Sync Settings
注意
必须设置定时同步,否则存在新建的LDAP⽤户在DCS登录不上风险。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论