你是如何将你的实现设置为默认实现的?我不得不写一个习惯电子邮件模板提供商停止创建模板和从 keycloak 发送电子邮件,并使用我们自己的电子邮件服务来实现这两个目的。
我通过从 setId 方法返回 "freemarker" 作为 id 将我的实现设置为默认值电子邮件模板 ProviderFactory和"default"来自EmailSenderProviderFactory.我阅读了 Keycloak 的文档,了解如何安装/启动您的自定义提供程序,但由于某种原因,这些都对我不起作用。
另外,请确保您有一个名为服务(里面元信息文件夹)包含文件org.keycloak.email.EmailTemplateProviderFactory其中应包含从您的代码中导入自定义提供程序的位置。如果您也覆盖 keycloak 的电子邮件发件人(就像我一样),请添加一个文件EmailSenderProviderFactory.
确保您使用了 @Override 注释。我的 pom.xml 文件包括keycloak-模型-jpa作为依赖行家 11作为带有 keycloak 版本 20.0.1 的编译器。
看看这个 repo,默认提供者的代码写在这里:https://github.com/keycloak/keycloak/tree/main/services/src/main/java/org/keycloak/email