diff --git a/application/src/main/java/org/thingsboard/server/controller/TwoFaConfigController.java b/application/src/main/java/org/thingsboard/server/controller/TwoFaConfigController.java index 2dec65ed93..f683c03187 100644 --- a/application/src/main/java/org/thingsboard/server/controller/TwoFaConfigController.java +++ b/application/src/main/java/org/thingsboard/server/controller/TwoFaConfigController.java @@ -225,7 +225,7 @@ public class TwoFaConfigController extends BaseController { "- `issuerName` - issuer name that will be displayed in an authenticator app near a username. Must not be blank.\n\n" + "For SMS 2FA provider:\n" + "- `smsVerificationMessageTemplate` - verification message template. Available template variables " + - "are ${verificationCode} and ${userEmail}. It must not be blank and must contain verification code variable.\n" + + "are ${code} and ${userEmail}. It must not be blank and must contain verification code variable.\n" + "- `verificationCodeLifetime` - verification code lifetime in seconds. Required to be positive.\n\n" + "For EMAIL provider type:\n" + "- `verificationCodeLifetime` - the same as for SMS." + NEW_LINE + @@ -243,7 +243,7 @@ public class TwoFaConfigController extends BaseController { " {\n" + " \"providerType\": \"SMS\",\n" + " \"verificationCodeLifetime\": 60,\n" + - " \"smsVerificationMessageTemplate\": \"Here is your verification code: ${verificationCode}\"\n" + + " \"smsVerificationMessageTemplate\": \"Here is your verification code: ${code}\"\n" + " }\n" + " ],\n" + " \"verificationCodeSendRateLimit\": \"1:60\",\n" + diff --git a/application/src/main/java/org/thingsboard/server/service/security/auth/mfa/provider/impl/SmsTwoFaProvider.java b/application/src/main/java/org/thingsboard/server/service/security/auth/mfa/provider/impl/SmsTwoFaProvider.java index ef06b7add4..63d3233928 100644 --- a/application/src/main/java/org/thingsboard/server/service/security/auth/mfa/provider/impl/SmsTwoFaProvider.java +++ b/application/src/main/java/org/thingsboard/server/service/security/auth/mfa/provider/impl/SmsTwoFaProvider.java @@ -51,7 +51,7 @@ public class SmsTwoFaProvider extends OtpBasedTwoFaProvider messageData = Map.of( - "verificationCode", verificationCode, + "code", verificationCode, "userEmail", user.getEmail() ); String message = TbNodeUtils.processTemplate(providerConfig.getSmsVerificationMessageTemplate(), messageData); diff --git a/application/src/test/java/org/thingsboard/server/controller/TwoFactorAuthConfigTest.java b/application/src/test/java/org/thingsboard/server/controller/TwoFactorAuthConfigTest.java index d6fc640878..c0b2e48c35 100644 --- a/application/src/test/java/org/thingsboard/server/controller/TwoFactorAuthConfigTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/TwoFactorAuthConfigTest.java @@ -91,7 +91,7 @@ public abstract class TwoFactorAuthConfigTest extends AbstractControllerTest { TotpTwoFaProviderConfig totpTwoFaProviderConfig = new TotpTwoFaProviderConfig(); totpTwoFaProviderConfig.setIssuerName("tb"); SmsTwoFaProviderConfig smsTwoFaProviderConfig = new SmsTwoFaProviderConfig(); - smsTwoFaProviderConfig.setSmsVerificationMessageTemplate("${verificationCode}"); + smsTwoFaProviderConfig.setSmsVerificationMessageTemplate("${code}"); smsTwoFaProviderConfig.setVerificationCodeLifetime(60); PlatformTwoFaSettings twoFaSettings = new PlatformTwoFaSettings(); @@ -167,7 +167,7 @@ public abstract class TwoFactorAuthConfigTest extends AbstractControllerTest { @Test public void testSaveTwoFaAccountConfig_providerNotConfigured() throws Exception { - configureSmsTwoFaProvider("${verificationCode}"); + configureSmsTwoFaProvider("${code}"); loginTenantAdmin(); @@ -300,14 +300,14 @@ public abstract class TwoFactorAuthConfigTest extends AbstractControllerTest { @Test public void testGenerateSmsTwoFaAccountConfig() throws Exception { - configureSmsTwoFaProvider("${verificationCode}"); + configureSmsTwoFaProvider("${code}"); doPost("/api/2fa/account/config/generate?providerType=SMS") .andExpect(status().isOk()); } @Test public void testSubmitSmsTwoFaAccountConfig() throws Exception { - String verificationMessageTemplate = "Here is your verification code: ${verificationCode}"; + String verificationMessageTemplate = "Here is your verification code: ${code}"; configureSmsTwoFaProvider(verificationMessageTemplate); loginTenantAdmin(); @@ -327,7 +327,7 @@ public abstract class TwoFactorAuthConfigTest extends AbstractControllerTest { @Test public void testSubmitSmsTwoFaAccountConfig_validationError() throws Exception { - configureSmsTwoFaProvider("${verificationCode}"); + configureSmsTwoFaProvider("${code}"); SmsTwoFaAccountConfig smsTwoFaAccountConfig = new SmsTwoFaAccountConfig(); String blankPhoneNumber = ""; @@ -347,7 +347,7 @@ public abstract class TwoFactorAuthConfigTest extends AbstractControllerTest { @Test public void testVerifyAndSaveSmsTwoFaAccountConfig() throws Exception { - configureSmsTwoFaProvider("${verificationCode}"); + configureSmsTwoFaProvider("${code}"); loginTenantAdmin(); @@ -373,7 +373,7 @@ public abstract class TwoFactorAuthConfigTest extends AbstractControllerTest { @Test public void testVerifyAndSaveSmsTwoFaAccountConfig_incorrectVerificationCode() throws Exception { - configureSmsTwoFaProvider("${verificationCode}"); + configureSmsTwoFaProvider("${code}"); loginTenantAdmin(); @@ -387,7 +387,7 @@ public abstract class TwoFactorAuthConfigTest extends AbstractControllerTest { @Test public void testVerifyAndSaveSmsTwoFaAccountConfig_differentAccountConfigs() throws Exception { - configureSmsTwoFaProvider("${verificationCode}"); + configureSmsTwoFaProvider("${code}"); loginTenantAdmin(); SmsTwoFaAccountConfig initialSmsTwoFaAccountConfig = new SmsTwoFaAccountConfig(); @@ -442,7 +442,7 @@ public abstract class TwoFactorAuthConfigTest extends AbstractControllerTest { @Test public void testIsTwoFaEnabled() throws Exception { - configureSmsTwoFaProvider("${verificationCode}"); + configureSmsTwoFaProvider("${code}"); SmsTwoFaAccountConfig accountConfig = new SmsTwoFaAccountConfig(); accountConfig.setPhoneNumber("+38050505050"); twoFaConfigManager.saveTwoFaAccountConfig(tenantId, tenantAdminUserId, accountConfig); @@ -452,7 +452,7 @@ public abstract class TwoFactorAuthConfigTest extends AbstractControllerTest { @Test public void testDeleteTwoFaAccountConfig() throws Exception { - configureSmsTwoFaProvider("${verificationCode}"); + configureSmsTwoFaProvider("${code}"); SmsTwoFaAccountConfig accountConfig = new SmsTwoFaAccountConfig(); accountConfig.setPhoneNumber("+38050505050"); diff --git a/application/src/test/java/org/thingsboard/server/controller/TwoFactorAuthTest.java b/application/src/test/java/org/thingsboard/server/controller/TwoFactorAuthTest.java index 40070b0106..2d05974325 100644 --- a/application/src/test/java/org/thingsboard/server/controller/TwoFactorAuthTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/TwoFactorAuthTest.java @@ -351,7 +351,7 @@ public abstract class TwoFactorAuthTest extends AbstractControllerTest { SmsTwoFaProviderConfig smsTwoFaProviderConfig = new SmsTwoFaProviderConfig(); smsTwoFaProviderConfig.setVerificationCodeLifetime(60); - smsTwoFaProviderConfig.setSmsVerificationMessageTemplate("${verificationCode}"); + smsTwoFaProviderConfig.setSmsVerificationMessageTemplate("${code}"); EmailTwoFaProviderConfig emailTwoFaProviderConfig = new EmailTwoFaProviderConfig(); emailTwoFaProviderConfig.setVerificationCodeLifetime(60); @@ -422,7 +422,7 @@ public abstract class TwoFactorAuthTest extends AbstractControllerTest { private SmsTwoFaAccountConfig configureSmsTwoFa(Consumer... customizer) throws ThingsboardException { SmsTwoFaProviderConfig smsTwoFaProviderConfig = new SmsTwoFaProviderConfig(); smsTwoFaProviderConfig.setVerificationCodeLifetime(60); - smsTwoFaProviderConfig.setSmsVerificationMessageTemplate("${verificationCode}"); + smsTwoFaProviderConfig.setSmsVerificationMessageTemplate("${code}"); Arrays.stream(customizer).forEach(c -> c.accept(smsTwoFaProviderConfig)); PlatformTwoFaSettings twoFaSettings = new PlatformTwoFaSettings(); diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/security/model/mfa/provider/SmsTwoFaProviderConfig.java b/common/data/src/main/java/org/thingsboard/server/common/data/security/model/mfa/provider/SmsTwoFaProviderConfig.java index e0ed0587d9..973a2d0c3b 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/security/model/mfa/provider/SmsTwoFaProviderConfig.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/security/model/mfa/provider/SmsTwoFaProviderConfig.java @@ -26,7 +26,7 @@ import javax.validation.constraints.Pattern; public class SmsTwoFaProviderConfig extends OtpBasedTwoFaProviderConfig { @NotBlank(message = "verification message template is required") - @Pattern(regexp = ".*\\$\\{verificationCode}.*", message = "template must contain verification code") + @Pattern(regexp = ".*\\$\\{code}.*", message = "template must contain verification code") private String smsVerificationMessageTemplate; @Override