115 KeycloakSession session = context.getSession();
116 UserModel user = context.getUser();
117 AuthenticationSessionModel authSession = context.getAuthenticationSession();
118 EventBuilder
event = context.getEvent().clone().event(EventType.SEND_VERIFY_EMAIL).detail(Details.EMAIL, user.getEmail());
119 String code = RandomString.randomCode(8);
120 authSession.setAuthNote(Constants.VERIFY_EMAIL_CODE, code);
121 RealmModel realm = session.getContext().getRealm();
123 Map<String, Object> attributes =
new HashMap<>();
124 attributes.put(
"code", code);
128 .getProvider(EmailTemplateProvider.class)
129 .setAuthenticationSession(authSession)
132 .send(
"emailVerificationSubject",
"email-verification-with-code.ftl", attributes);
134 }
catch (EmailException e) {
135 logger.error(
"Failed to send verification email", e);
136 event.error(Errors.EMAIL_SEND_FAILED);
139 return challenge(context).text(context.form().getMessage(
"console-verify-email", user.getEmail()));
static final Logger logger
Definition: ConsoleVerifyEmail.java:46
ConsoleDisplayMode challenge(RequiredActionContext context)
Definition: ConsoleVerifyEmail.java:106