'verificationCode' variable to 'code' in SMS 2FA message template
This commit is contained in:
parent
8abb23087d
commit
f2a4ebb136
@ -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" +
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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");
|
||||||
|
|
||||||
|
|||||||
@ -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();
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user