Package org.keycloak.email.freemarker
Class FreeMarkerEmailTemplateProvider
java.lang.Object
org.keycloak.email.freemarker.FreeMarkerEmailTemplateProvider
- All Implemented Interfaces:
EmailTemplateProvider,Provider
- Author:
- Stian Thorgersen
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected AuthenticationSessionModelauthenticationSession 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.)!protected FreeMarkerProviderprotected RealmModelprotected KeycloakSessionprotected UserModelFields inherited from interface org.keycloak.email.EmailTemplateProvider
IDENTITY_PROVIDER_BROKER_CONTEXT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddLinkInfoIntoAttributes(String link, long expirationInMinutes, Map<String, Object> attributes) Add link info into template attributes.voidclose()protected Stringprotected ThemegetTheme()processTemplate(String subjectKey, List<Object> subjectAttributes, String template, Map<String, Object> attributes) protected voidvoidvoidsend(String subjectFormatKey, List<Object> subjectAttributes, String bodyTemplate, Map<String, Object> bodyAttributes) protected voidsend(String subjectFormatKey, List<Object> subjectAttributes, String bodyTemplate, Map<String, Object> bodyAttributes, String address) protected voidprotected voidvoidsendConfirmIdentityBrokerLink(String link, long expirationInMinutes) voidsendEmailUpdateConfirmation(String link, long expirationInMinutes, String newEmail) voidvoidsendExecuteActions(String link, long expirationInMinutes) voidsendOrgInviteEmail(OrganizationModel organization, String link, long expirationInMinutes) voidsendPasswordReset(String link, long expirationInMinutes) voidsendSmtpTestEmail(Map<String, String> config, UserModel user) voidsendVerifyEmail(String link, long expirationInMinutes) setAttribute(String name, Object value) setAuthenticationSession(AuthenticationSessionModel authenticationSession) setRealm(RealmModel realm) protected StringtoCamelCase(EventType event)
-
Field Details
-
session
-
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
-
realm
-
user
-
attributes
-
-
Constructor Details
-
FreeMarkerEmailTemplateProvider
-
-
Method Details
-
setRealm
- Specified by:
setRealmin interfaceEmailTemplateProvider
-
setUser
- Specified by:
setUserin interfaceEmailTemplateProvider
-
setAttribute
- Specified by:
setAttributein interfaceEmailTemplateProvider
-
setAuthenticationSession
public EmailTemplateProvider setAuthenticationSession(AuthenticationSessionModel authenticationSession) - Specified by:
setAuthenticationSessionin interfaceEmailTemplateProvider
-
getRealmName
-
sendEvent
- Specified by:
sendEventin interfaceEmailTemplateProvider- Throws:
EmailException
-
sendPasswordReset
- Specified by:
sendPasswordResetin interfaceEmailTemplateProvider- Throws:
EmailException
-
sendSmtpTestEmail
- Specified by:
sendSmtpTestEmailin interfaceEmailTemplateProvider- Throws:
EmailException
-
sendConfirmIdentityBrokerLink
public void sendConfirmIdentityBrokerLink(String link, long expirationInMinutes) throws EmailException - Specified by:
sendConfirmIdentityBrokerLinkin interfaceEmailTemplateProvider- Throws:
EmailException
-
sendExecuteActions
- Specified by:
sendExecuteActionsin interfaceEmailTemplateProvider- Throws:
EmailException
-
sendVerifyEmail
- Specified by:
sendVerifyEmailin interfaceEmailTemplateProvider- Throws:
EmailException
-
sendOrgInviteEmail
public void sendOrgInviteEmail(OrganizationModel organization, String link, long expirationInMinutes) throws EmailException - Specified by:
sendOrgInviteEmailin interfaceEmailTemplateProvider- Throws:
EmailException
-
sendEmailUpdateConfirmation
public void sendEmailUpdateConfirmation(String link, long expirationInMinutes, String newEmail) throws EmailException - Specified by:
sendEmailUpdateConfirmationin interfaceEmailTemplateProvider- Throws:
EmailException
-
addLinkInfoIntoAttributes
protected void addLinkInfoIntoAttributes(String link, long expirationInMinutes, Map<String, Object> attributes) throws EmailExceptionAdd link info into template attributes.- Parameters:
link- to addexpirationInMinutes- to addattributes- to add link info into- Throws:
EmailException
-
send
public void send(String subjectFormatKey, String bodyTemplate, Map<String, Object> bodyAttributes) throws EmailException- Specified by:
sendin interfaceEmailTemplateProvider- Throws:
EmailException
-
processTemplate
protected FreeMarkerEmailTemplateProvider.EmailTemplate processTemplate(String subjectKey, List<Object> subjectAttributes, String template, Map<String, Object> attributes) throws EmailException- Throws:
EmailException
-
getTheme
- Throws:
IOException
-
send
public void send(String subjectFormatKey, List<Object> subjectAttributes, String bodyTemplate, Map<String, Object> bodyAttributes) throws EmailException- Specified by:
sendin interfaceEmailTemplateProvider- Throws:
EmailException
-
send
protected void send(String subjectFormatKey, List<Object> subjectAttributes, String bodyTemplate, Map<String, Object> bodyAttributes, String address) throws EmailException- Throws:
EmailException
-
send
protected void send(String subject, String textBody, String htmlBody, String address) throws EmailException - Throws:
EmailException
-
send
protected void send(Map<String, String> config, String subject, String textBody, String htmlBody) throws EmailException- Throws:
EmailException
-
send
protected void send(Map<String, String> config, String subject, String textBody, String htmlBody, String address) throws EmailException- Throws:
EmailException
-
close
public void close() -
toCamelCase
-