diff --git a/application/src/main/java/org/thingsboard/server/service/mail/DefaultMailService.java b/application/src/main/java/org/thingsboard/server/service/mail/DefaultMailService.java index fdb1b579e9..9d2f7b8891 100644 --- a/application/src/main/java/org/thingsboard/server/service/mail/DefaultMailService.java +++ b/application/src/main/java/org/thingsboard/server/service/mail/DefaultMailService.java @@ -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); diff --git a/application/src/main/java/org/thingsboard/server/service/security/auth/mfa/provider/impl/EmailTwoFaProvider.java b/application/src/main/java/org/thingsboard/server/service/security/auth/mfa/provider/impl/EmailTwoFaProvider.java index 39af5038ef..2aa5985514 100644 --- a/application/src/main/java/org/thingsboard/server/service/security/auth/mfa/provider/impl/EmailTwoFaProvider.java +++ b/application/src/main/java/org/thingsboard/server/service/security/auth/mfa/provider/impl/EmailTwoFaProvider.java @@ -55,7 +55,7 @@ public class EmailTwoFaProvider extends OtpBasedTwoFaProvider @@ -86,12 +86,12 @@ diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/security/model/mfa/PlatformTwoFaSettings.java b/common/data/src/main/java/org/thingsboard/server/common/data/security/model/mfa/PlatformTwoFaSettings.java index 39ca0349fb..87d6403b04 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/security/model/mfa/PlatformTwoFaSettings.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/security/model/mfa/PlatformTwoFaSettings.java @@ -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 diff --git a/rule-engine/rule-engine-api/src/main/java/org/thingsboard/rule/engine/api/MailService.java b/rule-engine/rule-engine-api/src/main/java/org/thingsboard/rule/engine/api/MailService.java index 236391ba16..6ac4417934 100644 --- a/rule-engine/rule-engine-api/src/main/java/org/thingsboard/rule/engine/api/MailService.java +++ b/rule-engine/rule-engine-api/src/main/java/org/thingsboard/rule/engine/api/MailService.java @@ -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;
-

Email verification code:

+

Your verification code:

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