Package org.keycloak.email.freemarker
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
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.keycloak.sessions.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 org.keycloak.models.RealmModelprotected org.keycloak.models.KeycloakSessionprotected org.keycloak.models.UserModelFields inherited from interface org.keycloak.email.EmailTemplateProvider
IDENTITY_PROVIDER_BROKER_CONTEXT -
Constructor Summary
ConstructorsConstructorDescriptionFreeMarkerEmailTemplateProvider(org.keycloak.models.KeycloakSession session) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddLinkInfoIntoAttributes(String link, long expirationInMinutes, Map<String, Object> attributes) Add link info into template attributes.voidclose()protected Stringprotected org.keycloak.theme.ThemegetTheme()processTemplate(String subjectKey, List<Object> subjectAttributes, String template, Map<String, Object> attributes) protected voidvoidvoidsend(String subjectFormatKey, String bodyTemplate, Map<String, Object> bodyAttributes, String destinationEmail) voidsend(String subjectFormatKey, List<Object> subjectAttributes, String bodyTemplate, Map<String, Object> bodyAttributes) 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) voidsendEvent(org.keycloak.events.Event event) voidsendExecuteActions(String link, long expirationInMinutes) voidsendOrgInviteEmail(org.keycloak.models.OrganizationModel organization, String link, long expirationInMinutes) voidsendPasswordReset(String link, long expirationInMinutes) voidsendSmtpTestEmail(Map<String, String> config, org.keycloak.models.UserModel user) voidsendVerifiableCredentialOffer(String link, long expirationInMinutes) voidsendVerifyEmail(String link, long expirationInMinutes) org.keycloak.email.EmailTemplateProvidersetAttribute(String name, Object value) org.keycloak.email.EmailTemplateProvidersetAuthenticationSession(org.keycloak.sessions.AuthenticationSessionModel authenticationSession) org.keycloak.email.EmailTemplateProvidersetRealm(org.keycloak.models.RealmModel realm) org.keycloak.email.EmailTemplateProvidersetUser(org.keycloak.models.UserModel user) protected StringtoCamelCase(org.keycloak.events.EventType event)
-
Field Details
-
session
protected org.keycloak.models.KeycloakSession session -
authenticationSession
protected org.keycloak.sessions.AuthenticationSessionModel authenticationSessionauthenticationSession 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
protected org.keycloak.models.RealmModel realm -
user
protected org.keycloak.models.UserModel user -
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:
setRealmin interfaceorg.keycloak.email.EmailTemplateProvider
-
setUser
public org.keycloak.email.EmailTemplateProvider setUser(org.keycloak.models.UserModel user) - Specified by:
setUserin interfaceorg.keycloak.email.EmailTemplateProvider
-
setAttribute
- Specified by:
setAttributein interfaceorg.keycloak.email.EmailTemplateProvider
-
setAuthenticationSession
public org.keycloak.email.EmailTemplateProvider setAuthenticationSession(org.keycloak.sessions.AuthenticationSessionModel authenticationSession) - Specified by:
setAuthenticationSessionin interfaceorg.keycloak.email.EmailTemplateProvider
-
getRealmName
-
sendEvent
public void sendEvent(org.keycloak.events.Event event) throws org.keycloak.email.EmailException - Specified by:
sendEventin interfaceorg.keycloak.email.EmailTemplateProvider- Throws:
org.keycloak.email.EmailException
-
sendPasswordReset
public void sendPasswordReset(String link, long expirationInMinutes) throws org.keycloak.email.EmailException - Specified by:
sendPasswordResetin interfaceorg.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:
sendSmtpTestEmailin interfaceorg.keycloak.email.EmailTemplateProvider- Throws:
org.keycloak.email.EmailException
-
sendConfirmIdentityBrokerLink
public void sendConfirmIdentityBrokerLink(String link, long expirationInMinutes) throws org.keycloak.email.EmailException - Specified by:
sendConfirmIdentityBrokerLinkin interfaceorg.keycloak.email.EmailTemplateProvider- Throws:
org.keycloak.email.EmailException
-
sendExecuteActions
public void sendExecuteActions(String link, long expirationInMinutes) throws org.keycloak.email.EmailException - Specified by:
sendExecuteActionsin interfaceorg.keycloak.email.EmailTemplateProvider- Throws:
org.keycloak.email.EmailException
-
sendVerifiableCredentialOffer
public void sendVerifiableCredentialOffer(String link, long expirationInMinutes) throws org.keycloak.email.EmailException - Specified by:
sendVerifiableCredentialOfferin interfaceorg.keycloak.email.EmailTemplateProvider- Throws:
org.keycloak.email.EmailException
-
sendVerifyEmail
public void sendVerifyEmail(String link, long expirationInMinutes) throws org.keycloak.email.EmailException - Specified by:
sendVerifyEmailin interfaceorg.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:
sendOrgInviteEmailin interfaceorg.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:
sendEmailUpdateConfirmationin interfaceorg.keycloak.email.EmailTemplateProvider- Throws:
org.keycloak.email.EmailException
-
addLinkInfoIntoAttributes
protected void addLinkInfoIntoAttributes(String link, long expirationInMinutes, Map<String, Object> attributes) throws org.keycloak.email.EmailExceptionAdd link info into template attributes.- Parameters:
link- to addexpirationInMinutes- to addattributes- 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:
sendin interfaceorg.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
- Throws:
IOException
-
send
public void send(String subjectFormatKey, List<Object> subjectAttributes, String bodyTemplate, Map<String, Object> bodyAttributes) throws org.keycloak.email.EmailException- Specified by:
sendin interfaceorg.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:
sendin interfaceorg.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:
sendin interfaceorg.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:
closein interfaceorg.keycloak.provider.Provider
-
toCamelCase
-