如何在Keycloak自定义邮件模板主题中添加Realm名称?是否无需自定义Provider即可实现?
在Keycloak邮件主题中添加Realm名称(无需自定义Provider)
当然可以!不用写自定义Provider就能搞定这个需求——Keycloak的邮件主题系统本身就支持直接引用Realm名称这类内置变量,只需要修改自定义主题的属性配置文件就行,步骤很简单:
- 定位到你的自定义邮件主题目录,路径通常是:
${KEYCLOAK_HOME}/themes/你的自定义主题名/email - 打开对应语言的消息属性文件,比如英文的
messages_en.properties,如果是中文就找messages_zh_CN.properties。 - 找到所有你需要修改的邮件主题键,比如邮箱验证的
emailVerificationSubject、密码重置的passwordResetSubject等。 - 在主题文本中插入
${realmName}占位符,举个例子:
原来的配置:
修改后:emailVerificationSubject=Verify your emailemailVerificationSubject=Verify your email for ${realmName} - 保存文件后,重启Keycloak(或者在管理控制台的「主题」设置里重新加载主题,部分版本支持热加载)。
这样一来,所有发送的对应邮件主题里就会自动替换成当前Realm的名称了。另外顺带提一下,Keycloak还内置了其他可用变量,比如${userName}、${link}等,都可以直接用在主题或邮件正文中。
内容的提问来源于stack exchange,提问作者fstaine
相关产品推荐
相关产品推荐

