Class 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 Detail

      • 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.)!
      • realm

        protected org.keycloak.models.RealmModel realm
      • user

        protected org.keycloak.models.UserModel user
    • Constructor Detail

      • FreeMarkerEmailTemplateProvider

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

      • 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
      • 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
      • 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
      • 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

        protected void send​(String subjectFormatKey,
                            List<Object> subjectAttributes,
                            String bodyTemplate,
                            Map<String,​Object> bodyAttributes,
                            String address)
                     throws org.keycloak.email.EmailException
        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)