You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Keycloak导入realm.json报declarative-user-profile不存在错误

错误根因
  • 核心报错No such provider 'declarative-user-profile'是因为Keycloak 14版本中,*declarative-user-profile(声明式用户配置)*属于默认未启用的预览特性,对应Provider不会在服务启动时加载。你要导入的keycloak-realm.json中包含了该特性相关的配置项,服务识别不到对应Provider就会中断导入流程。
  • 你的JVM参数配置方式错误:将-Dkeycloak.profile.feature.upload_scripts=enabled直接拼接在KEYCLOAK_IMPORT环境变量中,Keycloak启动脚本只会把该环境变量的全部内容识别为待导入的realm文件路径,既不会解析你追加的特性开启参数,还可能导致文件路径识别异常。
修复方案
  1. 拆分环境变量配置:将所有JVM系统参数从KEYCLOAK_IMPORT中移除,通过镜像支持的JAVA_OPTS_APPEND环境变量追加自定义启动参数,同时补上缺失的declarative-user-profile特性开启配置。
  2. 修正后的Docker Compose配置片段如下:
keycloak:
  image: 'wizzn/keycloak:14'
  environment:
    # 仅保留导入文件的绝对路径
    KEYCLOAK_IMPORT: /opt/jboss/keycloak/realm-config/keycloak-realm.json
    # 所有自定义JVM参数通过JAVA_OPTS_APPEND追加
    JAVA_OPTS_APPEND: >-
      -Dkeycloak.profile.feature.upload_scripts=enabled
      -Dkeycloak.profile.feature.declarative_user_profile=enabled
  volumes:
    - ./keycloak-init:/opt/jboss/keycloak/realm-config
  1. 额外校验项:
    • 确认本地挂载目录./keycloak-init的权限允许容器内jboss用户(UID为1000)读取,避免出现文件访问权限问题。
    • 如果待导入的realm文件是从高于14版本的Keycloak实例中导出的,建议先手动删除文件中与声明式用户配置无关的高版本专属配置项,避免触发其他版本兼容错误。

内容的提问来源于stack exchange,提问作者Sara Selim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 20:24:19