Keycloak add company logo to the reset password email(Keyloak将公司徽标添加到重置密码电子邮件)
问题描述
我正在尝试在重置密码电子邮件中显示公司徽标。 我已经检查了钥匙斗篷文档,发现它们不支持它。我也尝试过将图像编码为base64格式,但Gmail不支持。我如何才能做到这一点?
推荐答案
您需要创建自定义主题。 检查Keycloak的文档第3章:docs
共有五种类型的主题/页面:
- 账户-账户管理
- 管理-管理控制台
- 电子邮件
- 登录-登录表单
- 欢迎-欢迎页面
您可以从签出此示例存储库开始kc themes sample,编辑模板并将其部署到您的密钥罩中。
就像链接上说的那样.要部署它,请执行以下操作:
复制
部署主题的最简单方法是复制 SRC/Main/Resources/Theme/*转到Themes/。模块
或者,您可以部署为模块。这可以通过以下方式完成 首次运行:
然后打开
mvn clean install $KEYCLOAK_HOME/bin/jboss-cli.sh --command="module add --name=org.keycloak.example.themes --resources=target/keycloak-example-themes.jar"
standalone/configuration/standalone.xml
并通过添加以下内容注册主题模块:<theme> ... <modules> <module>org.keycloak.example.themes</module> </modules> </theme>
您可以复制其他主题或将其从base templates复制到您的自定义主题项目。
电子邮件基础模板:email templates
在签出项目和源代码之前,请注意选择相同的密钥罩版本。
将徽标添加到现有自定义主题内的电子邮件模板的步骤
- 找到您的模板文件:/html/password-set.ftl(例如base sample file)
<html>
<body>
${kcSanitize(msg("passwordResetBodyHtml",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration)))?no_esc}
</body>
</html>
- 替换为您的代码。例如,使用base64图像或对您的图像文件的链接引用(https://static.myserver.com/image.png等.)
<html>
<body>
<div>
<img src="ZGF0YTppbWFnZS9wbmc7YmFzZTY0LCBpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQVVBDQogICAgQUFBRkNBWUFBQUNOYnlibEFBQUFIRWxFUVZRSTEyUDQvLzgvdzM4R0lBWERJQktFMERIeGdsak5CQUFPDQogICAgICAgIDlUWEwwWTRPSHdBQUFBQkpSVTVFcmtKZ2dnPT0=" alt="UmVkIExvZ28=">
</div>
<div>
${kcSanitize(msg("passwordResetBodyHtml",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration)))?no_esc}
</div>
</body>
</html>
也更新您的纯文本模板(如果需要,因为并非所有客户端都支持html)。您不能在此添加图像,但如果文本消息[file text/password-set.ftl]
在Keycloak中打包并部署主题
在领域配置选项卡中选择您的电子邮件模板
正如您在DefaultEmailSenderProvider.java类中看到的那样,Keycloak将尝试发送HTML电子邮件,如果您没有定义它,则使用text-Plain(文件:text/password-set.ftl
更新:
当前某些电子邮件客户端有一些限制。 我建议您阅读以下关于它的说明(read me)。正如它所说,许多Web客户端不会显示包含一个以上Base64 Embedded图像的电子邮件(或者一个都不显示)。
因此,使用钥匙罩电子邮件的一个好策略是使用对静电内容服务器提供的图像的引用(如果没有,钥匙罩位于也可以配置为静电服务器的野苍蝇上)。
因此,您可以实施的最佳解决方案是按如下方式添加您的镜像: 例如
<img src = "aHR0cHM6Ly9zdGF0aWMubXlzZXJ2ZXIuY29tL3N0YXRpYy9sb2dvLnBuZw==" alt = "aW1n" />
这篇关于Keyloak将公司徽标添加到重置密码电子邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Keyloak将公司徽标添加到重置密码电子邮件


- GC_FOR_ALLOC 是否更“严重"?在调查内存使用情况时? 2022-01-01
- Eclipse 的最佳 XML 编辑器 2022-01-01
- 转换 ldap 日期 2022-01-01
- 在 Java 中,如何将 String 转换为 char 或将 char 转换 2022-01-01
- 未找到/usr/local/lib 中的库 2022-01-01
- 如何使 JFrame 背景和 JPanel 透明且仅显示图像 2022-01-01
- 如何指定 CORS 的响应标头? 2022-01-01
- 获取数字的最后一位 2022-01-01
- 将 Java Swing 桌面应用程序国际化的最佳实践是什么? 2022-01-01
- java.lang.IllegalStateException:Bean 名称“类别"的 BindingResult 和普通目标对象都不能用作请求属性 2022-01-01