Skip to content

Commit

Permalink
Merge pull request #110 from MODU-TAXI/MS-204-smsWhiteListEnhance
Browse files Browse the repository at this point in the history
[MS-204] sms 인증 화이트리스트 범위 수정
  • Loading branch information
jaewonLeeKOR authored Nov 20, 2024
2 parents 2775fad + cc45fcb commit 6be1e2a
Showing 1 changed file with 7 additions and 7 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.modutaxi.api.domain.sms.service;


import com.modutaxi.api.common.exception.BaseException;
import com.modutaxi.api.common.exception.errorcode.AuthErrorCode;
import com.modutaxi.api.common.exception.errorcode.SmsErrorCode;
Expand All @@ -13,7 +12,6 @@
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;
import java.util.List;

@Service
@RequiredArgsConstructor
Expand All @@ -27,8 +25,8 @@ public class SmsService {
private Integer certCodeLength;
@Value("${sms.cert-sms-restriction-seconds}")
private Integer certSmsRestrictionSeconds;
@Value("${sms.cert-white-list-phone-numbers}")
private List<String> whiteListPhoneNumbers;
@Value("${sms.cert-white-list-phone-number-prefix}")
private String whiteListPhoneNumberPrefix;
@Value("${sms.cert-white-list-certification-code}")
private String whiteListCertificationCode;
@Value("${sms.cert-white-list-message-id}")
Expand All @@ -45,7 +43,8 @@ public Boolean sendCertificationCodeWithJwt(String memberId, String phoneNumber)

private Boolean sendCertificationCode(String key, String phoneNumber) {
String finalPhoneNumber = phoneNumber;
boolean isWhiteList = whiteListPhoneNumbers.stream().anyMatch(finalPhoneNumber::equals);
boolean isWhiteList = finalPhoneNumber.substring(0, 3).equals(whiteListPhoneNumberPrefix);
System.out.println(isWhiteList);
phoneNumber = checkPhoneNumberPattern(phoneNumber, isWhiteList);
SmsCertCodeEntity smsCertCodeEntity = redisSmsCertificationCodeRepository.findById(key);
if (smsCertCodeEntity != null) {
Expand All @@ -59,7 +58,8 @@ private Boolean sendCertificationCode(String key, String phoneNumber) {
String certificationCode = isWhiteList ? whiteListCertificationCode : CertificationCodeUtil.generateCertificationCode(certCodeLength);
String messageId = isWhiteList ? whiteListMessageId : smsAgencyUtil.sendOne(sender, phoneNumber, String.format("[모두의택시] 인증번호는 [%s]입니다.", certificationCode));
redisSmsCertificationCodeRepository.save(key, phoneNumber, certificationCode, messageId);
smsAgencyUtil.checkBalance();
if(!isWhiteList)
smsAgencyUtil.checkBalance();
return true;
}

Expand Down Expand Up @@ -89,7 +89,7 @@ public Boolean checkSmsCertificationCodeWithJwt(String memberId, String phoneNum

public Boolean checkSmsCertificationCode(String key, String phoneNumber, String certificationCode) {
String finalPhoneNumber = phoneNumber;
phoneNumber = checkPhoneNumberPattern(phoneNumber, whiteListPhoneNumbers.stream().anyMatch(finalPhoneNumber::equals));
phoneNumber = checkPhoneNumberPattern(phoneNumber, finalPhoneNumber.substring(0, 3).equals(whiteListPhoneNumberPrefix));
checkCertificationCodePattern(certificationCode);
SmsCertCodeEntity smsCertCodeEntity = redisSmsCertificationCodeRepository.findById(key);
if (smsCertCodeEntity == null) {
Expand Down

0 comments on commit 6be1e2a

Please sign in to comment.