docker - 启用 Keycloak 只读用户属性时出现问题

标签 docker keycloak

我尝试按照文档在 Keycloak 中启用只读用户属性:https://www.keycloak.org/docs/latest/server_admin/
然而,记录在案的配置实际上并没有阻止用户更改他们的属性。
将 Keycloak 15.0.0 与来自 d​​ocker hub 的常规 Docker 镜像一起使用
制作了一个 .cli 文件并将其添加到我的 Docker 镜像中,构建自

FROM jboss/keycloak:15.0.0
ADD RESTRICT_USER_ATTRIBUTES.cli /opt/jboss/startup-scripts/
使用 RESTRICT_USER_ATTRIBUTES.cli 的内容:
embed-server --server-config=standalone-ha.xml --std-out=echo

batch

/subsystem=keycloak-server/spi=userProfile/:add
/subsystem=keycloak-server/spi=userProfile/provider=legacy-user-profile/:add(properties={},enabled=true)
/subsystem=keycloak-server/spi=userProfile/provider=legacy-user-profile/:map-put(name=properties,key=read-only-attributes,value=[myUserAttribute])

run-batch

stop-embedded-server
.cli 文件根据日志进行处理。我可以执行到 docker 实例并使用 jboss-cli.sh 检查配置。
但最终用户可以使用 Postman 或其他工具自由编辑 myUserAttribute。
我在这里做错了什么?

最佳答案

我刚刚遇到了这个问题,而且文档似乎已经过时了。
他们更改了提供程序名称,可能在 15.0.0 中。
尝试将您的 cli 脚本更改为:

# ...

/subsystem=keycloak-server/spi=userProfile/:add
/subsystem=keycloak-server/spi=userProfile/provider=declarative-user-profile/:add(properties={},enabled=true)
/subsystem=keycloak-server/spi=userProfile/provider=declarative-user-profile/:map-put(name=properties,key=read-only-attributes,value=[myUserAttribute])

# ...

关于docker - 启用 Keycloak 只读用户属性时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69860802/

相关文章:

docker - docker部署后如何访问WebAPI

wordpress - Docker 和 BrowserSync

oauth-2.0 - keycloak token 自省(introspection)总是失败,出现 {"active":false}

ruby-on-rails - 使用 Keycloak 实现单点登录

keycloak - 无法访问 keycloak 其余 API 方法 *404*

angular - 带有 Angular 和 Spring 错误的 Keycloak : GET http://localhost:8180/auth/realms/Storage/protocol/openid-connect/3p-cookies/step1. html 404(未找到)

node.js - bcrypt 无法在带有 Windows 主机的 Linux 容器的 docker 中工作

Docker 使用 mysql

javascript - Grunt/Docker 文件路径

java - key 斗篷错误 : Unrecognized field "access_token"