npe*_*ski 6 configuration jboss keycloak
我在使用 Keycloak 时遇到以下问题:
我启用了 2 个用户联合模块:
一种是默认LDAP 联合(内部用户)
一个是为数据库用户(外部用户)定制编写的联合模块
我还启用了“身份验证”->“所需操作”->“电子邮件验证”选项(我需要为新注册用户启用电子邮件验证)。
问题是我需要从 LDAP(内部用户)获取的现有用户跳过电子邮件验证步骤,但找不到解决此问题的方法。
有任何想法吗?
小智 9
我肯定在聚会上迟到了,但以防万一将来有人在寻找这个。您可以使用硬编码值在用户联合中添加映射器。感谢 @Kvaps 提供的属性名称。
这些从 4.8 开始可用(不确定),并且肯定在 11.0.0(我当前的版本)上工作
不幸的是,目前还没有办法实现这一目标。
作为肮脏的解决方法,您可以使用 cron 调用的下一个 shell 脚本:
SERVER=http://localhost:8080/auth
USER=admin
PASSWORD=aiPh5ohngai1xoo0eeWa
REALM=master
KCADM=/opt/keycloak/bin/kcadm.sh
KEYS="--server $SERVER --realm $REALM --user $USER --password $PASSWORD"
USERS=$($KCADM get users $KEYS | jq -r '.[] | select(.emailVerified == false ) | .id')
for ID in $USERS; do
$KCADM update users/$ID $KEYS -s emailVerified=true
done
Run Code Online (Sandbox Code Playgroud)
该脚本将查找所有具有 的用户emailVerified=false并将值更改为true。
LDAP 服务器设置中的编辑模式应设置为 UNSYNCED 或 WRITABLE。
我也确实需要这个功能,所以我准备了它的功能请求:
https://issues.jboss.org/browse/KEYCLOAK-8727