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

Keycloak 22.0.1 Docker镜像邮件双因素认证配置求助

解决Keycloak容器中base主题email目录缺失的问题

以下是具体操作步骤:

  1. 进入Keycloak容器
    先通过命令进入运行中的Keycloak容器:

    docker exec -it <你的Keycloak容器名称> /bin/bash
    
  2. 创建缺失的目录结构
    容器内的base主题默认可能没有email相关子目录,手动创建所需路径:

    mkdir -p themes/base/email/html
    mkdir -p themes/base/email/text
    mkdir -p themes/base/email/messages
    
  3. 复制邮件模板文件
    从本地将模板文件复制到容器对应目录(如果已将文件传到容器内,直接使用容器内的文件路径即可):

    # 复制HTML模板
    docker cp ./html/code-email.ftl <你的Keycloak容器名称>:/opt/keycloak/themes/base/email/html/
    # 复制文本模板
    docker cp ./text/code-email.ftl <你的Keycloak容器名称>:/opt/keycloak/themes/base/email/text/
    
  4. 合并messages属性文件

    • 先创建缺失的messages_en.properties文件(如果不存在):
      touch /opt/keycloak/themes/base/email/messages/messages_en.properties
      
    • 将本地messages/*.properties的内容追加到容器内的属性文件中:
      # 先把本地messages目录传到容器临时目录
      docker cp ./messages/ <你的Keycloak容器名称>:/tmp/
      # 追加内容到目标文件
      docker exec -it <你的Keycloak容器名称> cat /tmp/messages/*.properties >> /opt/keycloak/themes/base/email/messages/messages_en.properties
      
  5. 重启Keycloak容器
    完成文件操作后,重启容器使配置生效:

    docker restart <你的Keycloak容器名称>
    

额外建议

如果不想修改base主题(避免Keycloak升级时丢失自定义内容),可以创建自定义主题:

  • 在themes目录下新建自定义主题文件夹(比如my-2fa-theme)
  • 在该文件夹内创建email/html、email/text、email/messages目录,放入模板和属性文件
  • 在Keycloak控制台的Realm设置中,将主题切换为自定义主题

内容的提问来源于stack exchange,提问作者Abhishek Poddar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 00:26:08