'verificationCode' variable to 'code' in SMS 2FA message template

This commit is contained in:
Viacheslav Klimov 2022-05-20 12:50:06 +03:00
parent 8abb23087d
commit f2a4ebb136
5 changed files with 16 additions and 16 deletions

View File

@ -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" + "- `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" + "For SMS 2FA provider:\n" +
"- `smsVerificationMessageTemplate` - verification message template. Available template variables " + "- `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" + "- `verificationCodeLifetime` - verification code lifetime in seconds. Required to be positive.\n\n" +
"For EMAIL provider type:\n" + "For EMAIL provider type:\n" +
"- `verificationCodeLifetime` - the same as for SMS." + NEW_LINE + "- `verificationCodeLifetime` - the same as for SMS." + NEW_LINE +
@ -243,7 +243,7 @@ public class TwoFaConfigController extends BaseController {
" {\n" + " {\n" +
" \"providerType\": \"SMS\",\n" + " \"providerType\": \"SMS\",\n" +
" \"verificationCodeLifetime\": 60,\n" + " \"verificationCodeLifetime\": 60,\n" +
" \"smsVerificationMessageTemplate\": \"Here is your verification code: ${verificationCode}\"\n" + " \"smsVerificationMessageTemplate\": \"Here is your verification code: ${code}\"\n" +
" }\n" + " }\n" +
" ],\n" + " ],\n" +
" \"verificationCodeSendRateLimit\": \"1:60\",\n" + " \"verificationCodeSendRateLimit\": \"1:60\",\n" +

View File

@ -51,7 +51,7 @@ public class SmsTwoFaProvider extends OtpBasedTwoFaProvider<SmsTwoFaProviderConf
@Override @Override
protected void sendVerificationCode(SecurityUser user, String verificationCode, SmsTwoFaProviderConfig providerConfig, SmsTwoFaAccountConfig accountConfig) throws ThingsboardException { protected void sendVerificationCode(SecurityUser user, String verificationCode, SmsTwoFaProviderConfig providerConfig, SmsTwoFaAccountConfig accountConfig) throws ThingsboardException {
Map<String, String> messageData = Map.of( Map<String, String> messageData = Map.of(
"verificationCode", verificationCode, "code", verificationCode,
"userEmail", user.getEmail() "userEmail", user.getEmail()
); );
String message = TbNodeUtils.processTemplate(providerConfig.getSmsVerificationMessageTemplate(), messageData); String message = TbNodeUtils.processTemplate(providerConfig.getSmsVerificationMessageTemplate(), messageData);

View File

@ -91,7 +91,7 @@ public abstract class TwoFactorAuthConfigTest extends AbstractControllerTest {
TotpTwoFaProviderConfig totpTwoFaProviderConfig = new TotpTwoFaProviderConfig(); TotpTwoFaProviderConfig totpTwoFaProviderConfig = new TotpTwoFaProviderConfig();
totpTwoFaProviderConfig.setIssuerName("tb"); totpTwoFaProviderConfig.setIssuerName("tb");
SmsTwoFaProviderConfig smsTwoFaProviderConfig = new SmsTwoFaProviderConfig(); SmsTwoFaProviderConfig smsTwoFaProviderConfig = new SmsTwoFaProviderConfig();
smsTwoFaProviderConfig.setSmsVerificationMessageTemplate("${verificationCode}"); smsTwoFaProviderConfig.setSmsVerificationMessageTemplate("${code}");
smsTwoFaProviderConfig.setVerificationCodeLifetime(60); smsTwoFaProviderConfig.setVerificationCodeLifetime(60);
PlatformTwoFaSettings twoFaSettings = new PlatformTwoFaSettings(); PlatformTwoFaSettings twoFaSettings = new PlatformTwoFaSettings();
@ -167,7 +167,7 @@ public abstract class TwoFactorAuthConfigTest extends AbstractControllerTest {
@Test @Test
public void testSaveTwoFaAccountConfig_providerNotConfigured() throws Exception { public void testSaveTwoFaAccountConfig_providerNotConfigured() throws Exception {
configureSmsTwoFaProvider("${verificationCode}"); configureSmsTwoFaProvider("${code}");
loginTenantAdmin(); loginTenantAdmin();
@ -300,14 +300,14 @@ public abstract class TwoFactorAuthConfigTest extends AbstractControllerTest {
@Test @Test
public void testGenerateSmsTwoFaAccountConfig() throws Exception { public void testGenerateSmsTwoFaAccountConfig() throws Exception {
configureSmsTwoFaProvider("${verificationCode}"); configureSmsTwoFaProvider("${code}");
doPost("/api/2fa/account/config/generate?providerType=SMS") doPost("/api/2fa/account/config/generate?providerType=SMS")
.andExpect(status().isOk()); .andExpect(status().isOk());
} }
@Test @Test
public void testSubmitSmsTwoFaAccountConfig() throws Exception { public void testSubmitSmsTwoFaAccountConfig() throws Exception {
String verificationMessageTemplate = "Here is your verification code: ${verificationCode}"; String verificationMessageTemplate = "Here is your verification code: ${code}";
configureSmsTwoFaProvider(verificationMessageTemplate); configureSmsTwoFaProvider(verificationMessageTemplate);
loginTenantAdmin(); loginTenantAdmin();
@ -327,7 +327,7 @@ public abstract class TwoFactorAuthConfigTest extends AbstractControllerTest {
@Test @Test
public void testSubmitSmsTwoFaAccountConfig_validationError() throws Exception { public void testSubmitSmsTwoFaAccountConfig_validationError() throws Exception {
configureSmsTwoFaProvider("${verificationCode}"); configureSmsTwoFaProvider("${code}");
SmsTwoFaAccountConfig smsTwoFaAccountConfig = new SmsTwoFaAccountConfig(); SmsTwoFaAccountConfig smsTwoFaAccountConfig = new SmsTwoFaAccountConfig();
String blankPhoneNumber = ""; String blankPhoneNumber = "";
@ -347,7 +347,7 @@ public abstract class TwoFactorAuthConfigTest extends AbstractControllerTest {
@Test @Test
public void testVerifyAndSaveSmsTwoFaAccountConfig() throws Exception { public void testVerifyAndSaveSmsTwoFaAccountConfig() throws Exception {
configureSmsTwoFaProvider("${verificationCode}"); configureSmsTwoFaProvider("${code}");
loginTenantAdmin(); loginTenantAdmin();
@ -373,7 +373,7 @@ public abstract class TwoFactorAuthConfigTest extends AbstractControllerTest {
@Test @Test
public void testVerifyAndSaveSmsTwoFaAccountConfig_incorrectVerificationCode() throws Exception { public void testVerifyAndSaveSmsTwoFaAccountConfig_incorrectVerificationCode() throws Exception {
configureSmsTwoFaProvider("${verificationCode}"); configureSmsTwoFaProvider("${code}");
loginTenantAdmin(); loginTenantAdmin();
@ -387,7 +387,7 @@ public abstract class TwoFactorAuthConfigTest extends AbstractControllerTest {
@Test @Test
public void testVerifyAndSaveSmsTwoFaAccountConfig_differentAccountConfigs() throws Exception { public void testVerifyAndSaveSmsTwoFaAccountConfig_differentAccountConfigs() throws Exception {
configureSmsTwoFaProvider("${verificationCode}"); configureSmsTwoFaProvider("${code}");
loginTenantAdmin(); loginTenantAdmin();
SmsTwoFaAccountConfig initialSmsTwoFaAccountConfig = new SmsTwoFaAccountConfig(); SmsTwoFaAccountConfig initialSmsTwoFaAccountConfig = new SmsTwoFaAccountConfig();
@ -442,7 +442,7 @@ public abstract class TwoFactorAuthConfigTest extends AbstractControllerTest {
@Test @Test
public void testIsTwoFaEnabled() throws Exception { public void testIsTwoFaEnabled() throws Exception {
configureSmsTwoFaProvider("${verificationCode}"); configureSmsTwoFaProvider("${code}");
SmsTwoFaAccountConfig accountConfig = new SmsTwoFaAccountConfig(); SmsTwoFaAccountConfig accountConfig = new SmsTwoFaAccountConfig();
accountConfig.setPhoneNumber("+38050505050"); accountConfig.setPhoneNumber("+38050505050");
twoFaConfigManager.saveTwoFaAccountConfig(tenantId, tenantAdminUserId, accountConfig); twoFaConfigManager.saveTwoFaAccountConfig(tenantId, tenantAdminUserId, accountConfig);
@ -452,7 +452,7 @@ public abstract class TwoFactorAuthConfigTest extends AbstractControllerTest {
@Test @Test
public void testDeleteTwoFaAccountConfig() throws Exception { public void testDeleteTwoFaAccountConfig() throws Exception {
configureSmsTwoFaProvider("${verificationCode}"); configureSmsTwoFaProvider("${code}");
SmsTwoFaAccountConfig accountConfig = new SmsTwoFaAccountConfig(); SmsTwoFaAccountConfig accountConfig = new SmsTwoFaAccountConfig();
accountConfig.setPhoneNumber("+38050505050"); accountConfig.setPhoneNumber("+38050505050");

View File

@ -351,7 +351,7 @@ public abstract class TwoFactorAuthTest extends AbstractControllerTest {
SmsTwoFaProviderConfig smsTwoFaProviderConfig = new SmsTwoFaProviderConfig(); SmsTwoFaProviderConfig smsTwoFaProviderConfig = new SmsTwoFaProviderConfig();
smsTwoFaProviderConfig.setVerificationCodeLifetime(60); smsTwoFaProviderConfig.setVerificationCodeLifetime(60);
smsTwoFaProviderConfig.setSmsVerificationMessageTemplate("${verificationCode}"); smsTwoFaProviderConfig.setSmsVerificationMessageTemplate("${code}");
EmailTwoFaProviderConfig emailTwoFaProviderConfig = new EmailTwoFaProviderConfig(); EmailTwoFaProviderConfig emailTwoFaProviderConfig = new EmailTwoFaProviderConfig();
emailTwoFaProviderConfig.setVerificationCodeLifetime(60); emailTwoFaProviderConfig.setVerificationCodeLifetime(60);
@ -422,7 +422,7 @@ public abstract class TwoFactorAuthTest extends AbstractControllerTest {
private SmsTwoFaAccountConfig configureSmsTwoFa(Consumer<SmsTwoFaProviderConfig>... customizer) throws ThingsboardException { private SmsTwoFaAccountConfig configureSmsTwoFa(Consumer<SmsTwoFaProviderConfig>... customizer) throws ThingsboardException {
SmsTwoFaProviderConfig smsTwoFaProviderConfig = new SmsTwoFaProviderConfig(); SmsTwoFaProviderConfig smsTwoFaProviderConfig = new SmsTwoFaProviderConfig();
smsTwoFaProviderConfig.setVerificationCodeLifetime(60); smsTwoFaProviderConfig.setVerificationCodeLifetime(60);
smsTwoFaProviderConfig.setSmsVerificationMessageTemplate("${verificationCode}"); smsTwoFaProviderConfig.setSmsVerificationMessageTemplate("${code}");
Arrays.stream(customizer).forEach(c -> c.accept(smsTwoFaProviderConfig)); Arrays.stream(customizer).forEach(c -> c.accept(smsTwoFaProviderConfig));
PlatformTwoFaSettings twoFaSettings = new PlatformTwoFaSettings(); PlatformTwoFaSettings twoFaSettings = new PlatformTwoFaSettings();

View File

@ -26,7 +26,7 @@ import javax.validation.constraints.Pattern;
public class SmsTwoFaProviderConfig extends OtpBasedTwoFaProviderConfig { public class SmsTwoFaProviderConfig extends OtpBasedTwoFaProviderConfig {
@NotBlank(message = "verification message template is required") @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; private String smsVerificationMessageTemplate;
@Override @Override