Class FreeMarkerEmailTemplateProvider

java.lang.Object
org.keycloak.email.freemarker.FreeMarkerEmailTemplateProvider
All Implemented Interfaces:
org.keycloak.email.EmailTemplateProvider, org.keycloak.provider.Provider

public class FreeMarkerEmailTemplateProvider extends Object implements org.keycloak.email.EmailTemplateProvider
Author:
Stian Thorgersen
  • Field Details

    • session

      protected org.keycloak.models.KeycloakSession session
    • authenticationSession

      protected org.keycloak.sessions.AuthenticationSessionModel authenticationSession
      authenticationSession can be null for some email sendings, it is filled only for email sendings performed as part of the authentication session (email verification, password reset, broker link etc.)!
    • freeMarker

      protected FreeMarkerProvider freeMarker
    • realm

      protected org.keycloak.models.RealmModel realm
    • user

      protected org.keycloak.models.UserModel user
    • attributes

      protected final Map<String,Object> attributes
  • Constructor Details

    • FreeMarkerEmailTemplateProvider

      public FreeMarkerEmailTemplateProvider(org.keycloak.models.KeycloakSession session)
  • Method Details

    • setRealm

      public org.keycloak.email.EmailTemplateProvider setRealm(org.keycloak.models.RealmModel realm)
      Specified by:
      setRealm in interface org.keycloak.email.EmailTemplateProvider
    • setUser

      public org.keycloak.email.EmailTemplateProvider setUser(org.keycloak.models.UserModel user)
      Specified by:
      setUser in interface org.keycloak.email.EmailTemplateProvider
    • setAttribute

      public org.keycloak.email.EmailTemplateProvider setAttribute(String name, Object value)
      Specified by:
      setAttribute in interface org.keycloak.email.EmailTemplateProvider
    • setAuthenticationSession

      public org.keycloak.email.EmailTemplateProvider setAuthenticationSession(org.keycloak.sessions.AuthenticationSessionModel authenticationSession)
      Specified by:
      setAuthenticationSession in interface org.keycloak.email.EmailTemplateProvider
    • getRealmName

      protected String getRealmName()
    • sendEvent

      public void sendEvent(org.keycloak.events.Event event) throws org.keycloak.email.EmailException
      Specified by:
      sendEvent in interface org.keycloak.email.EmailTemplateProvider
      Throws:
      org.keycloak.email.EmailException
    • sendPasswordReset

      public void sendPasswordReset(String link, long expirationInMinutes) throws org.keycloak.email.EmailException
      Specified by:
      sendPasswordReset in interface org.keycloak.email.EmailTemplateProvider
      Throws:
      org.keycloak.email.EmailException
    • sendSmtpTestEmail

      public void sendSmtpTestEmail(Map<String,String> config, org.keycloak.models.UserModel user) throws org.keycloak.email.EmailException
      Specified by:
      sendSmtpTestEmail in interface org.keycloak.email.EmailTemplateProvider
      Throws:
      org.keycloak.email.EmailException
    • sendConfirmIdentityBrokerLink

      public void sendConfirmIdentityBrokerLink(String link, long expirationInMinutes) throws org.keycloak.email.EmailException
      Specified by:
      sendConfirmIdentityBrokerLink in interface org.keycloak.email.EmailTemplateProvider
      Throws:
      org.keycloak.email.EmailException
    • sendExecuteActions

      public void sendExecuteActions(String link, long expirationInMinutes) throws org.keycloak.email.EmailException
      Specified by:
      sendExecuteActions in interface org.keycloak.email.EmailTemplateProvider
      Throws:
      org.keycloak.email.EmailException
    • sendVerifiableCredentialOffer

      public void sendVerifiableCredentialOffer(String link, long expirationInMinutes) throws org.keycloak.email.EmailException
      Specified by:
      sendVerifiableCredentialOffer in interface org.keycloak.email.EmailTemplateProvider
      Throws:
      org.keycloak.email.EmailException
    • sendVerifyEmail

      public void sendVerifyEmail(String link, long expirationInMinutes) throws org.keycloak.email.EmailException
      Specified by:
      sendVerifyEmail in interface org.keycloak.email.EmailTemplateProvider
      Throws:
      org.keycloak.email.EmailException
    • sendOrgInviteEmail

      public void sendOrgInviteEmail(org.keycloak.models.OrganizationModel organization, String link, long expirationInMinutes) throws org.keycloak.email.EmailException
      Specified by:
      sendOrgInviteEmail in interface org.keycloak.email.EmailTemplateProvider
      Throws:
      org.keycloak.email.EmailException
    • sendEmailUpdateConfirmation

      public void sendEmailUpdateConfirmation(String link, long expirationInMinutes, String newEmail) throws org.keycloak.email.EmailException
      Specified by:
      sendEmailUpdateConfirmation in interface org.keycloak.email.EmailTemplateProvider
      Throws:
      org.keycloak.email.EmailException
    • addLinkInfoIntoAttributes

      protected void addLinkInfoIntoAttributes(String link, long expirationInMinutes, Map<String,Object> attributes) throws org.keycloak.email.EmailException
      Add link info into template attributes.
      Parameters:
      link - to add
      expirationInMinutes - to add
      attributes - to add link info into
      Throws:
      org.keycloak.email.EmailException
    • send

      public void send(String subjectFormatKey, String bodyTemplate, Map<String,Object> bodyAttributes) throws org.keycloak.email.EmailException
      Specified by:
      send in interface org.keycloak.email.EmailTemplateProvider
      Throws:
      org.keycloak.email.EmailException
    • processTemplate

      protected FreeMarkerEmailTemplateProvider.EmailTemplate processTemplate(String subjectKey, List<Object> subjectAttributes, String template, Map<String,Object> attributes) throws org.keycloak.email.EmailException
      Throws:
      org.keycloak.email.EmailException
    • getTheme

      protected org.keycloak.theme.Theme getTheme() throws IOException
      Throws:
      IOException
    • send

      public void send(String subjectFormatKey, List<Object> subjectAttributes, String bodyTemplate, Map<String,Object> bodyAttributes) throws org.keycloak.email.EmailException
      Specified by:
      send in interface org.keycloak.email.EmailTemplateProvider
      Throws:
      org.keycloak.email.EmailException
    • send

      public void send(String subjectFormatKey, String bodyTemplate, Map<String,Object> bodyAttributes, String destinationEmail) throws org.keycloak.email.EmailException
      Specified by:
      send in interface org.keycloak.email.EmailTemplateProvider
      Throws:
      org.keycloak.email.EmailException
    • send

      public void send(String subjectFormatKey, List<Object> subjectAttributes, String bodyTemplate, Map<String,Object> bodyAttributes, String address) throws org.keycloak.email.EmailException
      Specified by:
      send in interface org.keycloak.email.EmailTemplateProvider
      Throws:
      org.keycloak.email.EmailException
    • send

      protected void send(String subject, String textBody, String htmlBody, String address) throws org.keycloak.email.EmailException
      Throws:
      org.keycloak.email.EmailException
    • send

      protected void send(Map<String,String> config, String subject, String textBody, String htmlBody) throws org.keycloak.email.EmailException
      Throws:
      org.keycloak.email.EmailException
    • send

      protected void send(Map<String,String> config, String subject, String textBody, String htmlBody, String address) throws org.keycloak.email.EmailException
      Throws:
      org.keycloak.email.EmailException
    • close

      public void close()
      Specified by:
      close in interface org.keycloak.provider.Provider
    • toCamelCase

      protected String toCamelCase(org.keycloak.events.EventType event)