Email 2FA verification message improvements
This commit is contained in:
parent
4e8be657ea
commit
866ad82187
@ -322,11 +322,12 @@ public class DefaultMailService implements MailService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendTwoFaVerificationEmail(String email, String verificationCode) throws ThingsboardException {
|
||||
public void sendTwoFaVerificationEmail(String email, String verificationCode, int expirationTimeSeconds) throws ThingsboardException {
|
||||
String subject = messages.getMessage("2fa.verification.code.subject", null, Locale.US);
|
||||
String message = mergeTemplateIntoString("2fa.verification.code.ftl", Map.of(
|
||||
TARGET_EMAIL, email,
|
||||
"verificationCode", verificationCode
|
||||
"verificationCode", verificationCode,
|
||||
"expirationTimeSeconds", expirationTimeSeconds
|
||||
));
|
||||
|
||||
sendMail(mailSender, mailFrom, email, subject, message);
|
||||
|
||||
@ -55,7 +55,7 @@ public class EmailTwoFaProvider extends OtpBasedTwoFaProvider<EmailTwoFaProvider
|
||||
|
||||
@Override
|
||||
protected void sendVerificationCode(SecurityUser user, String verificationCode, EmailTwoFaProviderConfig providerConfig, EmailTwoFaAccountConfig accountConfig) throws ThingsboardException {
|
||||
mailService.sendTwoFaVerificationEmail(accountConfig.getEmail(), verificationCode);
|
||||
mailService.sendTwoFaVerificationEmail(accountConfig.getEmail(), verificationCode, providerConfig.getVerificationCodeLifetime());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -71,7 +71,7 @@
|
||||
<meta itemprop="name" content="Confirm Email" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;" /><table width="100%" cellpadding="0" cellspacing="0" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
||||
<tr style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
||||
<td class="content-block" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; color: #348eda; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0;" valign="top" align="center">
|
||||
<h2 style="margin-bottom: 0;">Email verification code:</h2>
|
||||
<h2 style="margin-bottom: 0;">Your verification code:</h2>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
||||
@ -86,12 +86,12 @@
|
||||
</tr>
|
||||
<tr style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
||||
<td class="content-block" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 8px;" valign="top">
|
||||
This code will expire in ${expiredTime} minutes. To get a new one, click Resend code on the Thingsboard platform.
|
||||
This code will expire in ${expirationTimeSeconds} seconds.
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
||||
<td class="content-block" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;" valign="top">
|
||||
If you didn't request for this code, then you can just ignore this email; access won't provided.
|
||||
If you didn't request this code, you can ignore this email.
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
||||
|
||||
@ -15,6 +15,7 @@
|
||||
*/
|
||||
package org.thingsboard.server.common.data.security.model.mfa;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import lombok.Data;
|
||||
import org.thingsboard.server.common.data.security.model.mfa.provider.TwoFaProviderConfig;
|
||||
import org.thingsboard.server.common.data.security.model.mfa.provider.TwoFaProviderType;
|
||||
@ -26,6 +27,7 @@ import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@Data
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public class PlatformTwoFaSettings {
|
||||
|
||||
@Valid
|
||||
|
||||
@ -46,7 +46,7 @@ public interface MailService {
|
||||
|
||||
void sendAccountLockoutEmail(String lockoutEmail, String email, Integer maxFailedLoginAttempts) throws ThingsboardException;
|
||||
|
||||
void sendTwoFaVerificationEmail(String email, String verificationCode) throws ThingsboardException;
|
||||
void sendTwoFaVerificationEmail(String email, String verificationCode, int expirationTimeSeconds) throws ThingsboardException;
|
||||
|
||||
void send(TenantId tenantId, CustomerId customerId, TbEmail tbEmail) throws ThingsboardException;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user