From efdaa5aab57559220f9d326a0fc8a5287e268cd7 Mon Sep 17 00:00:00 2001 From: Dimitar Ivanov Date: Thu, 19 Sep 2019 11:30:20 +0300 Subject: [PATCH 1/7] Change of the vault token. --- releases/dev/auth-service.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/dev/auth-service.yaml b/releases/dev/auth-service.yaml index ab6519f..ca57f95 100644 --- a/releases/dev/auth-service.yaml +++ b/releases/dev/auth-service.yaml @@ -37,7 +37,7 @@ spec: vault: host: vault-service.vault.svc.cluster.local port: 8200 - token: "AgAa/9VmgEKrVY1JuNg5hpUKUpAPxRW8UwfN6lE7NRv0caKh8pbFXav6f+3xTdK4p5t0JmbBY9zogIS0l2DtYFTHOJZvgK4AfGB0fr/k79cg90LRu8G8NouAEDTFA3QLtS/l4dYeSatNu3onnb64Jmb3W70N8afLcu39+pNB9owO8yLRF/Ho/Uh/PhoAygIHKSzb3DCMOuYumCdKKu5x+Nw+ly1xhDD2i/orshFYovkye5RoqId3sjH9746hypXoB0LVZ0bw0Li2sOXShcwUaQFLB6tmq6gQxBE5s5SnhTIj0yW5Fx2BN54gMl4P/Me6rJVUlBlYyorC7QAWMFIgfCL3UpM9NIxqEAQbSJUCMWgdI5bMZumIjjTWBE8C34z9DRYXp/T7frzex4PJlNrd3Xi4/PdDuVkOpZvCcSleoCJPZcDa2sQR8BmALPrFq4fnGgac3Pbe3S2R+peGl4V3srT02tjh3P1EArbeNNbMJixfaYu80gsuIewY6Lr87cv65NtWScYCJDeSIuh3l1sBtqX0MQFVObjifYKjUtsyAJTTSS/L1MdPlVshkTm0q4lUqF/y5uRDW5PayET+2DO5lpCnFcL1CyHbIKhrWJXCrOeCmr9j7Zo5WnYGH+fuq76TlAR79+8fVVwXAgqAUiBwDST5a3XlF92duRd3YmEwTh1qy1e1PB2dAMsFfMYoiX5bOwsdEO7DIJbzwh6L6sSokNi5nZPEGen3k/uhjg==" + token: "AgB8YLcIs0xRK6PeGYeO2g9Up/UNeIsAz64YTK76UleHKlJtV16Bp3y2mRB3EYfr3mHuk/CPFXBqsHXzakXTy7DfQBmqhFonCdjxSVUw6DOnQ8vGhNLZbpH0v+9saVUvZ/4KxazqYk1FndjvnLKpO7eUlyNhWuJVyc37NS4AosI6i/UCUZHeI9prwjmQbZ8USFILqDPQ4UQ37Q1+4mCmsvboi7MXTSPixT4UFREpfUQ5eLah8z9n+Rtbnm7px7FU5ZQSZPZcWX2Psun85OAFdvmWYygEQduoj8cejHtdDehehajDnpYXwajN5PWyXd4vF93+TgUoDOQI+NKZvR3s+5lJWYgqSKwl3h5KUGFZ8jj9O6F0yLsye4Diw9dOa+PqZ3mtWo7MV2tt4hSIjvceLbEzghT7n7aPqperdx1/JxEjIjBjFsLbNoOnegs6TRObalhCwP6okfofFlCijJyyReu+aWF9UuiZ5fvGR00QJwqX9mD7zZGBazIcHd1Pgwr6E7B3l3kr/pY9WYykA2tRbSxwHdg6r+Ttba5rF6iPmLO6iYpLN1A2mDvMBi8ramP8sICcp4I3mKWUT1CnAh0adC5j52WplKxsOhmCHWe0VimwCK3xsNg3ziH9afZ5Sx5S27KV/R7jdcB/sBnxFVyQ3Q8FN6E1x0JIObnqe855Jhmj6ONZaCEJbjqzqD6JfKcdyDHNxGrQq15vyrIuEH8Dhmuz4ZfTVbQcLqh2uQ==" # Amazon email server configuration. amazon: -- GitLab From f182c7063d5d84868cab8a59b65f37c8f73afcd9 Mon Sep 17 00:00:00 2001 From: Dimitar Ivanov Date: Fri, 20 Sep 2019 00:56:46 +0300 Subject: [PATCH 2/7] Update vault token. --- releases/staging/auth-service.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/staging/auth-service.yaml b/releases/staging/auth-service.yaml index 9ca0b58..23d3565 100644 --- a/releases/staging/auth-service.yaml +++ b/releases/staging/auth-service.yaml @@ -37,7 +37,7 @@ spec: vault: host: vault-service.vault.svc.cluster.local port: 8200 - token: AgBFWuLYreM8xSSE75LlSQDsSylRM7rf207nzeJew7hwlqdAZUoneZhNOKvIFrl4KLkQ+cLvACtSHiTnM9sim9eUFWYrJtgieEUpsG1XeQTzFy6N4HpMjnTQa4wDEow60b98QRlNRijgjbkkfv81gquBx+zbMpXz0w2KXJhooo1WjrQWjARMZqltStuyMDOYu9TKzxfd81Zn2+fd/1Ir6l33PHEmofe4jHFfAhW3dEwJ7nXtmCylGd5qd1t5Bg58AocuXPJvY0Tc3Nr2cx35iD7y3HkFOT4UIhlk93GN54YYKwTWyjwoWWERXZGQwSvT7V0nEBLt6lajSXT4nIf4h6hahicHnN0JlBIe/9vSFFrTdFAK7WAb8vtNlS72I6dGgagANB6Ea+kOYayfkkbvlmPefYq5vOf4chWRqWmQMlZjqnsgLnDZ9Qd1B0zlI8Ex+ihRHAqG4co9IOw68/y30z07TxnvY9M5hBc1AhQHYIjFICbzWPh9PphvjIxuXtwq9KqrxuLgS9YS9/OHIT9GxaSr3ZnMpeTLQjMPeaak981oJqG8H09uP4JHjgo5yetv57nZgMZ//l7yG8fAwGWRIV00UqQhRMVKcFyv7knwAJI1A+wp9zFxYgEaKvE5qStiRHLhBYRTkv7+IG0SONseWQtJQtE4yINCmCo+U1l+FELz50cqnuAti6fJMD71Ofil8L+AyxZYmihalqLbg6QDOKJRzlg2CnZWlR8jag== + token: "AgA0LDBynyLst756AOyc5JYnEZct/z0IhI7ottyA1Iavi6D3AgRnz+SlZDR5TdEKAxd3D6gGck6CYik5kBILl4QAOMEfcmxQp3MXU/DdWT7oGvs16NVanOHNB4CwqH5ECNplsCRrhnUpezV0q3IXHuFEeIEzCm0hXwPsI2jf+NaFtcRmvslk3VS0lNKP+oMk4LgYi4roDm73gWRjR4SRD6qBxNHYXuaZLI/AOA53frmuJykx9MiPe3T/gn6QGESIUJMsjYUBdwnyzYaNkuJGgYPfKY+R1aEggo8qpN9h4hTxW+9Jm/624sn7Zf47v8V+J/MdUqjfs5BbBZoMs+JpQeyUb0h3HCBkwenbvEZreDEWaqWYrwezmUR18FENGIHOb5MxtPTh1vVMyguO/wDirlhR87KPF/G1tAx7vxP1ANyFo01L9yqnfGKmzhl0vjHNiOYo8D9wsM6hJiLWYQv6znFHL4Pid0XA07w9Fp8+9UTs8QKH8RycCLIFjQac2/5Aifl9EFFgciy8an8X+44VYRFpJhgZYbaKEJpX9E5tX3txYvGorl6yW71FW8O7/wUhv+jYEMxwCfoVXeL/n4kSCKZ7Zn4rVvR5WGhVg0eQ89/8TrbE9a5kUIea2uJiMtGVyY7cv12ae9detzUa5FeDHDEvN0FXYZq+sxvEFRCvk/IEw7zU1Dd9k7b9nhv4hdxY569Ab3oBCIcpA7ZocuSCCHLyAwuR2a0KnYWJLQ==" # Amazon email server configuration. amazon: -- GitLab From e2f7023f076fd5c3dbbb2627b37692573c8b3478 Mon Sep 17 00:00:00 2001 From: Ilia Krustev Date: Mon, 23 Mar 2020 20:22:26 +0200 Subject: [PATCH 3/7] NY-9671: Automatic SMS verification --- .../auth/grpc/integrations/TelesignIntegration.java | 11 +++++------ .../grpc/services/AuthenticationServiceImpl.java | 4 ++-- .../java/biz/nynja/auth/grpc/token/Validator.java | 12 ++++++++++++ .../auth/grpc/token/verify/VerifyCodeGenerator.java | 4 ++-- .../grpc/token/verify/VerifyTokenController.java | 4 +--- .../auth/grpc/token/verify/VerifyTokenService.java | 9 +++------ .../grpc/services/AuthenticationServiceImplTest.java | 4 ++-- .../grpc/services/VerifyTokenControllerTest.java | 6 +++--- 8 files changed, 30 insertions(+), 24 deletions(-) diff --git a/src/main/java/biz/nynja/auth/grpc/integrations/TelesignIntegration.java b/src/main/java/biz/nynja/auth/grpc/integrations/TelesignIntegration.java index 751ba12..2aed826 100644 --- a/src/main/java/biz/nynja/auth/grpc/integrations/TelesignIntegration.java +++ b/src/main/java/biz/nynja/auth/grpc/integrations/TelesignIntegration.java @@ -36,7 +36,7 @@ public class TelesignIntegration { private static final Logger logger = LoggerFactory.getLogger(TelesignIntegration.class); - public boolean sendVerifyCodeViaSms(String phoneNumber, String verifyCode) { + public boolean sendVerifyCodeViaSms(String phoneNumber, String verifyCode, String appHash) { try { VerifyClient verifyClient = new VerifyClient(customerId, apiKey); @@ -47,17 +47,16 @@ public class TelesignIntegration { // params.put("language", "bg"); // full list of supported languages could be found at: // https://enterprise.telesign.com/api-reference/codes-languages-and-time-zones/shared#supported-languages-for-messages - params.put("template", tokenConfig.getSmsTemplate()); + String template = appHash.isEmpty() ? tokenConfig.getSmsTemplate() : tokenConfig.getSmsTemplate() + ' ' + appHash; + params.put("template", template); params.put("verify_code", verifyCode); RestClient.TelesignResponse telesignResponse = verifyClient.sms(phoneNumber, params); if (telesignResponse.json.get("reference_id") != null) { - logger.info("Verification code successfully sent via SMS to phone number: {}.", phoneNumber); - logger.debug("Verification code successfully sent via SMS to phone number: {} with reference id: {}.", + logger.info("Verification code successfully sent via SMS to phone number: {} with reference id: {}.", phoneNumber, telesignResponse.json.get("reference_id")); } else { - logger.error("Unsuccessful SMS sending to phone number: {}.", phoneNumber); - logger.debug("Unsuccessful SMS sending to phone number: {}, {}.", phoneNumber, + logger.error("Unsuccessful SMS sending to phone number: {}, {}.", phoneNumber, telesignResponse.json.get("errors")); } diff --git a/src/main/java/biz/nynja/auth/grpc/services/AuthenticationServiceImpl.java b/src/main/java/biz/nynja/auth/grpc/services/AuthenticationServiceImpl.java index 8ed537d..d5a335f 100644 --- a/src/main/java/biz/nynja/auth/grpc/services/AuthenticationServiceImpl.java +++ b/src/main/java/biz/nynja/auth/grpc/services/AuthenticationServiceImpl.java @@ -163,7 +163,7 @@ public class AuthenticationServiceImpl extends AuthenticationServiceGrpc.Authent logger.debug("Generate verify token request recieved: {}, {}", request.getSid(), request.getSidType()); ImmutablePair validateRequestCause = validator.verifyTokenRequestValidate(request.getSidType(), - request.getSid(), request.getSendVia()); + request.getSid(), request.getSendVia(), request.getAppHash()); if (validateRequestCause != null) { responseObserver.onNext(GenerateTokenResponse.newBuilder() .setError(ErrorResponse.newBuilder().setMessage(validateRequestCause.getValue()) @@ -195,7 +195,7 @@ public class AuthenticationServiceImpl extends AuthenticationServiceGrpc.Authent } Cause verifyCodeSentRequestCause = verifyTokenService.verifyCodeSend(convertedSid, code, request.getSidType(), - request.getSendVia()); + request.getSendVia(), request.getAppHash()); if (verifyCodeSentRequestCause != null) { responseObserver.onNext(GenerateTokenResponse.newBuilder() diff --git a/src/main/java/biz/nynja/auth/grpc/token/Validator.java b/src/main/java/biz/nynja/auth/grpc/token/Validator.java index 053d080..0674a27 100644 --- a/src/main/java/biz/nynja/auth/grpc/token/Validator.java +++ b/src/main/java/biz/nynja/auth/grpc/token/Validator.java @@ -34,6 +34,7 @@ import biz.nynja.authentication.grpc.VerifyAuthProviderRequest.Action; public class Validator { private static final Logger logger = LoggerFactory.getLogger(Validator.class); + private static final int MAX_APP_HASH_SIZE = 40; public boolean isPhoneNumberValid(String phoneNumber, String country) { logger.info("New phone number validation request recieved - phone number: {}, country code: {}", phoneNumber, @@ -66,6 +67,17 @@ public class Validator { return isValid; } + public ImmutablePair verifyTokenRequestValidate(SidType sidType, String sid, SendMethod sendVia, String appHash) { + ImmutablePair res = verifyTokenRequestValidate(sidType, sid, sendVia); + if (res != null) { + return res; + } + if (appHash == null || appHash.length() > MAX_APP_HASH_SIZE) { + return new ImmutablePair<>(Cause.INVALID_APP_HASH, "Invalid app hash"); + } + return null; + } + public ImmutablePair verifyTokenRequestValidate(SidType sidType, String sid, SendMethod sendVia) { switch (sidType) { diff --git a/src/main/java/biz/nynja/auth/grpc/token/verify/VerifyCodeGenerator.java b/src/main/java/biz/nynja/auth/grpc/token/verify/VerifyCodeGenerator.java index 679827f..16e0a2b 100644 --- a/src/main/java/biz/nynja/auth/grpc/token/verify/VerifyCodeGenerator.java +++ b/src/main/java/biz/nynja/auth/grpc/token/verify/VerifyCodeGenerator.java @@ -37,8 +37,8 @@ public class VerifyCodeGenerator { return verifyCode; } - public boolean sendVerifyCodeViaSms(String phoneNumber, String verifyCode) { - return telesignIntegration.sendVerifyCodeViaSms(phoneNumber, verifyCode); + public boolean sendVerifyCodeViaSms(String phoneNumber, String verifyCode, String appHash) { + return telesignIntegration.sendVerifyCodeViaSms(phoneNumber, verifyCode, appHash); } public boolean sendVerifyCodeViaVoiceMessage(String phoneNumber, String verifyCode) { diff --git a/src/main/java/biz/nynja/auth/grpc/token/verify/VerifyTokenController.java b/src/main/java/biz/nynja/auth/grpc/token/verify/VerifyTokenController.java index 582dce2..1a4d880 100644 --- a/src/main/java/biz/nynja/auth/grpc/token/verify/VerifyTokenController.java +++ b/src/main/java/biz/nynja/auth/grpc/token/verify/VerifyTokenController.java @@ -18,8 +18,6 @@ import biz.nynja.auth.grpc.token.TokenResponse; import biz.nynja.auth.grpc.token.Validator; import biz.nynja.authentication.grpc.ErrorResponse.Cause; import biz.nynja.authentication.grpc.GenerateVerifyTokenRequest.SendMethod; -import biz.nynja.authentication.grpc.ErrorResponse; -import biz.nynja.authentication.grpc.GenerateTokenResponse; import biz.nynja.authentication.grpc.ResponseTokenType; import biz.nynja.authentication.grpc.SidType; @@ -81,7 +79,7 @@ public class VerifyTokenController { throw new IllegalArgumentException("send_via parameter should be one of SMS or CALL"); } - Cause verifyCodeSentRequstCause = verifyTokenService.verifyCodeSend(convertedSid, code, sidType, sendVia); + Cause verifyCodeSentRequstCause = verifyTokenService.verifyCodeSend(convertedSid, code, sidType, sendVia, ""); if (verifyCodeSentRequstCause != null) { switch (verifyCodeSentRequstCause) { case SEND_VIA_INVALID: diff --git a/src/main/java/biz/nynja/auth/grpc/token/verify/VerifyTokenService.java b/src/main/java/biz/nynja/auth/grpc/token/verify/VerifyTokenService.java index b1f41ab..ffde96a 100644 --- a/src/main/java/biz/nynja/auth/grpc/token/verify/VerifyTokenService.java +++ b/src/main/java/biz/nynja/auth/grpc/token/verify/VerifyTokenService.java @@ -20,17 +20,14 @@ import javax.crypto.Cipher; import javax.crypto.IllegalBlockSizeException; import javax.crypto.NoSuchPaddingException; import javax.crypto.spec.GCMParameterSpec; -import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.core.io.ClassPathResource; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; import com.nimbusds.jose.jwk.JWK; -import com.nimbusds.jose.jwk.JWKSet; import biz.nynja.account.grpc.AuthProviderDetails; import biz.nynja.auth.grpc.key.KeysManager; @@ -125,12 +122,12 @@ public class VerifyTokenService { } } - public Cause verifyCodeSend(String convertedSid, String code, SidType type, SendMethod sendVia) { + public Cause verifyCodeSend(String convertedSid, String code, SidType type, SendMethod sendVia, String appHash) { boolean verifyCodeSent = false; if (type.equals(SidType.PHONE)) { switch (sendVia) { case SMS: - verifyCodeSent = verifyCodeGenerator.sendVerifyCodeViaSms(convertedSid, code); + verifyCodeSent = verifyCodeGenerator.sendVerifyCodeViaSms(convertedSid, code, appHash); break; case CALL: verifyCodeSent = verifyCodeGenerator.sendVerifyCodeViaVoiceMessage(convertedSid, code); @@ -298,4 +295,4 @@ public class VerifyTokenService { logger.debug("CountVerify \"{}\" saved into the DB", savedCountVerify.toString()); } -} \ No newline at end of file +} diff --git a/src/test/java/biz/nynja/auth/grpc/services/AuthenticationServiceImplTest.java b/src/test/java/biz/nynja/auth/grpc/services/AuthenticationServiceImplTest.java index 11053e2..96d0d92 100644 --- a/src/test/java/biz/nynja/auth/grpc/services/AuthenticationServiceImplTest.java +++ b/src/test/java/biz/nynja/auth/grpc/services/AuthenticationServiceImplTest.java @@ -220,7 +220,7 @@ public class AuthenticationServiceImplTest extends GrpcServerTestBase { given(verifyCodeGenerator.generateVerifyCode(6)).willReturn(VERIFY_CODE); given(verifyTokenService.generateVerifyToken(SID, SidType.PHONE, VERIFY_CODE)).willReturn("VerifyToken"); - given(verifyCodeGenerator.sendVerifyCodeViaSms(PHONE, VERIFY_CODE)).willReturn(true); + given(verifyCodeGenerator.sendVerifyCodeViaSms(PHONE, VERIFY_CODE, "")).willReturn(true); final GenerateTokenResponse reply = authenticationServiceBlockingStub.generateVerifyToken(request); assertNotNull("Reply should not be null", reply); @@ -250,7 +250,7 @@ public class AuthenticationServiceImplTest extends GrpcServerTestBase { given(verifyCodeGenerator.generateVerifyCode(6)).willReturn(VERIFY_CODE); given(verifyTokenService.generateVerifyToken(PHONE, SidType.PHONE, VERIFY_CODE)).willReturn("VerifyToken"); - given(verifyCodeGenerator.sendVerifyCodeViaSms(PHONE, VERIFY_CODE)).willReturn(false); + given(verifyCodeGenerator.sendVerifyCodeViaSms(PHONE, VERIFY_CODE, "")).willReturn(false); final GenerateTokenResponse reply = authenticationServiceBlockingStub.generateVerifyToken(request); assertNotNull("Reply should not be null", reply); diff --git a/src/test/java/biz/nynja/auth/grpc/services/VerifyTokenControllerTest.java b/src/test/java/biz/nynja/auth/grpc/services/VerifyTokenControllerTest.java index e4a9c5b..1c50bd9 100644 --- a/src/test/java/biz/nynja/auth/grpc/services/VerifyTokenControllerTest.java +++ b/src/test/java/biz/nynja/auth/grpc/services/VerifyTokenControllerTest.java @@ -75,7 +75,7 @@ public class VerifyTokenControllerTest { given(verifyCodeGenerator.generateVerifyCode(6)).willReturn(VERIFY_CODE); given(verifyTokenService.generateVerifyToken(SID, SidType.PHONE, VERIFY_CODE)).willReturn("token"); given(verifyTokenService.setSendMethod("SMS")).willReturn(SEND_VIA); - given(verifyTokenService.verifyCodeSend(PHONE, VERIFY_CODE, SidType.PHONE, SEND_VIA)).willReturn(null); + given(verifyTokenService.verifyCodeSend(PHONE, VERIFY_CODE, SidType.PHONE, SEND_VIA, "")).willReturn(null); mockMvc.perform(get("/tokens/verify?sid=" + SID + "&sid_type=" + SID_TYPE_PHONE + "&send_via=" + SEND_VIA)) .andExpect(status().isOk()).andExpect(jsonPath("$.token_type", is("CODE"))); } @@ -86,7 +86,7 @@ public class VerifyTokenControllerTest { given(verifyTokenService.convertRequestSid(SidType.EMAIL, EMAIL)).willReturn(EMAIL); given(verifyCodeGenerator.generateVerifyCode(6)).willReturn(VERIFY_CODE); given(verifyTokenService.generateVerifyToken(EMAIL, SidType.EMAIL, VERIFY_CODE)).willReturn("token"); - given(verifyTokenService.verifyCodeSend(EMAIL, VERIFY_CODE, SidType.EMAIL, SendMethod.IDLE)).willReturn(null); + given(verifyTokenService.verifyCodeSend(EMAIL, VERIFY_CODE, SidType.EMAIL, SendMethod.IDLE, "")).willReturn(null); mockMvc.perform(get("/tokens/verify?sid=" + EMAIL + "&sid_type=" + SidType.EMAIL)).andExpect(status().isOk()) .andExpect(jsonPath("$.token_type", is("CODE"))); @@ -96,7 +96,7 @@ public class VerifyTokenControllerTest { public void testGenerateVerifyTokenRestVerifyCodeNotSent() throws Exception { given(verifyCodeGenerator.generateVerifyCode(6)).willReturn(VERIFY_CODE); given(verifyTokenService.generateVerifyToken(PHONE, SidType.PHONE, VERIFY_CODE)).willReturn("VerifyToken"); - given(verifyCodeGenerator.sendVerifyCodeViaSms(PHONE, VERIFY_CODE)).willReturn(false); + given(verifyCodeGenerator.sendVerifyCodeViaSms(PHONE, VERIFY_CODE, "")).willReturn(false); mockMvc.perform(get("/tokens/verify?sid=" + SID + "&sid_type=" + SID_TYPE_PHONE + "&send_via=" + SEND_VIA)) .andExpect(status().isInternalServerError()); -- GitLab From ef6c17f507eba1435019af805319bc41b229a6ec Mon Sep 17 00:00:00 2001 From: Ilia Krustev Date: Tue, 24 Mar 2020 20:08:02 +0200 Subject: [PATCH 4/7] NY-9671: Automatic SMS verification Add new lines in the SMS to offset the hash. --- .../biz/nynja/auth/grpc/integrations/TelesignIntegration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/biz/nynja/auth/grpc/integrations/TelesignIntegration.java b/src/main/java/biz/nynja/auth/grpc/integrations/TelesignIntegration.java index 2aed826..7f9bd41 100644 --- a/src/main/java/biz/nynja/auth/grpc/integrations/TelesignIntegration.java +++ b/src/main/java/biz/nynja/auth/grpc/integrations/TelesignIntegration.java @@ -47,7 +47,7 @@ public class TelesignIntegration { // params.put("language", "bg"); // full list of supported languages could be found at: // https://enterprise.telesign.com/api-reference/codes-languages-and-time-zones/shared#supported-languages-for-messages - String template = appHash.isEmpty() ? tokenConfig.getSmsTemplate() : tokenConfig.getSmsTemplate() + ' ' + appHash; + String template = appHash.isEmpty() ? tokenConfig.getSmsTemplate() : tokenConfig.getSmsTemplate() + " %a%a" + appHash; params.put("template", template); params.put("verify_code", verifyCode); RestClient.TelesignResponse telesignResponse = verifyClient.sms(phoneNumber, params); -- GitLab From 317ac6daa884b84966b6779c9cfc7690b922432a Mon Sep 17 00:00:00 2001 From: Ilia Krustev Date: Wed, 25 Mar 2020 12:02:45 +0200 Subject: [PATCH 5/7] Fix: bad new lines in SMS --- .../biz/nynja/auth/grpc/integrations/TelesignIntegration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/biz/nynja/auth/grpc/integrations/TelesignIntegration.java b/src/main/java/biz/nynja/auth/grpc/integrations/TelesignIntegration.java index 7f9bd41..004c5f2 100644 --- a/src/main/java/biz/nynja/auth/grpc/integrations/TelesignIntegration.java +++ b/src/main/java/biz/nynja/auth/grpc/integrations/TelesignIntegration.java @@ -47,7 +47,7 @@ public class TelesignIntegration { // params.put("language", "bg"); // full list of supported languages could be found at: // https://enterprise.telesign.com/api-reference/codes-languages-and-time-zones/shared#supported-languages-for-messages - String template = appHash.isEmpty() ? tokenConfig.getSmsTemplate() : tokenConfig.getSmsTemplate() + " %a%a" + appHash; + String template = appHash.isEmpty() ? tokenConfig.getSmsTemplate() : tokenConfig.getSmsTemplate() + " %0a%a0" + appHash; params.put("template", template); params.put("verify_code", verifyCode); RestClient.TelesignResponse telesignResponse = verifyClient.sms(phoneNumber, params); -- GitLab From d49d739a9c90d9836cb049e89fdb03e361998fb4 Mon Sep 17 00:00:00 2001 From: Ilia Krustev Date: Wed, 25 Mar 2020 12:41:28 +0200 Subject: [PATCH 6/7] Fix: bad new lines in SMS --- .../biz/nynja/auth/grpc/integrations/TelesignIntegration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/biz/nynja/auth/grpc/integrations/TelesignIntegration.java b/src/main/java/biz/nynja/auth/grpc/integrations/TelesignIntegration.java index 004c5f2..be65aa1 100644 --- a/src/main/java/biz/nynja/auth/grpc/integrations/TelesignIntegration.java +++ b/src/main/java/biz/nynja/auth/grpc/integrations/TelesignIntegration.java @@ -47,7 +47,7 @@ public class TelesignIntegration { // params.put("language", "bg"); // full list of supported languages could be found at: // https://enterprise.telesign.com/api-reference/codes-languages-and-time-zones/shared#supported-languages-for-messages - String template = appHash.isEmpty() ? tokenConfig.getSmsTemplate() : tokenConfig.getSmsTemplate() + " %0a%a0" + appHash; + String template = appHash.isEmpty() ? tokenConfig.getSmsTemplate() : tokenConfig.getSmsTemplate() + " %0a%0a" + appHash; params.put("template", template); params.put("verify_code", verifyCode); RestClient.TelesignResponse telesignResponse = verifyClient.sms(phoneNumber, params); -- GitLab From f01fef82259b43473e7b6d9fe081bc71e752cf7f Mon Sep 17 00:00:00 2001 From: Ilia Krustev Date: Wed, 25 Mar 2020 13:26:09 +0200 Subject: [PATCH 7/7] Fix: bad new lines in SMS --- .../biz/nynja/auth/grpc/integrations/TelesignIntegration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/biz/nynja/auth/grpc/integrations/TelesignIntegration.java b/src/main/java/biz/nynja/auth/grpc/integrations/TelesignIntegration.java index be65aa1..7f6bcbc 100644 --- a/src/main/java/biz/nynja/auth/grpc/integrations/TelesignIntegration.java +++ b/src/main/java/biz/nynja/auth/grpc/integrations/TelesignIntegration.java @@ -47,7 +47,7 @@ public class TelesignIntegration { // params.put("language", "bg"); // full list of supported languages could be found at: // https://enterprise.telesign.com/api-reference/codes-languages-and-time-zones/shared#supported-languages-for-messages - String template = appHash.isEmpty() ? tokenConfig.getSmsTemplate() : tokenConfig.getSmsTemplate() + " %0a%0a" + appHash; + String template = appHash.isEmpty() ? tokenConfig.getSmsTemplate() : tokenConfig.getSmsTemplate() + " \n\n" + appHash; params.put("template", template); params.put("verify_code", verifyCode); RestClient.TelesignResponse telesignResponse = verifyClient.sms(phoneNumber, params); -- GitLab