728x90
문자 한 건에 20원(포인트)
처음 가입하면 300포인트 지급되어서 15건 테스트할 수 있음
결과
참고블로그
https://ohrora-developer.tistory.com/m/5
https://25gstory.tistory.com/88
sts4에서 구현하기
1. CoolSMS 가입 후 api key 발급받고, SDK다운받기
https://developer.coolsms.co.kr/SDK_Java_Getting_Started_ko
2. springboot에 라이브러리 설치
리소스 폴더에 lib 폴더 안에 다운받은 라이브러리 jar 파일 추가하고
프로젝트 우클릭 > [Build Path] > [Configure Build Path]
[Libraries] 탭에서 [Add JARs] 클릭후 lib 폴더에 넣었던 jar파일 2개 추가하기
3. VIEW단 작성
HTML
<div class="form-group phoneCertifyDiv">
<label class="inputTitle">휴대폰 번호</label><br>
<div class="phoneNum-formgroup">
<input th:if="${memberPhone != null}" type="text" name="memberPhone" class="phoneNum" readonly th:value="${memberPhone}">
<input th:unless="${memberPhone != null}" type="text" name="memberPhone" class="phoneNum" >
<input type="button" id="memberPhoneCheck" class="btn memberPhoneBtn active" value="인증번호 전송">
</div>
<div class="phoneNum-formgroup" id="phoneCertifyDiv">
<input type="text" name="memberPhoneCertify" class="phoneNum">
<input type="button" id="certifyCheck" class="btn memberPhoneBtn" value="인증하기">
</div>
</div>
form으로 controller 단에 넘기기엔 이미 from안에 들어있는 구성요소라 ajax로 controller로 보냄
JS
//휴대폰번호 인증번호 보내기 버튼 클릭 이벤트
$('#memberPhoneCheck').click(function(){
var to = $('input[name="memberPhone"]').val();
$.ajax({
url : "/memberPhoneCheck",
type : "POST",
data : "to=" + to,
dataType : "json",
success : function(data) {
const checkNum = data;
alert('checkNum:'+ checkNum);
//인증하기 버튼 클릭 이벤트
$('#certifyCheck').click(function(){
const userNum = $('input[name="memberPhoneCertify"]').val();
if(checkNum == userNum){
alert('인증 성공하였습니다.');
}else {
alert('인증 실패하였습니다. 다시 입력해주세요.');
}
});
},
error : function() {
alert("에러")
}
});
});
4. Controller 작성
//문자 인증
@PostMapping("/memberPhoneCheck")
public @ResponseBody String memberPhoneCheck(@RequestParam(value="to") String to) throws CoolsmsException {
return paymentService.PhoneNumberCheck(to);
}
5. Service 작성
//휴대폰번호 인증문자 보내기
public String PhoneNumberCheck(String to) throws CoolsmsException{
String api_key = "발급받은 api key";
String api_secret = "발급받은 api secret";
Message coolsms = new Message(api_key, api_secret);
Random rand = new Random();
String numStr = "";
for(int i=0; i<4; i++) {
String ran = Integer.toString(rand.nextInt(10));
numStr += ran;
}
HashMap<String, String> params = new HashMap<String, String>();
params.put("to", to); // 수신전화번호 (ajax로 view 화면에서 받아온 값으로 넘김)
params.put("from", "01000000000"); // 발신전화번호. 테스트시에는 발신,수신 둘다 본인 번호로 하면 됨
params.put("type", "sms");
params.put("text", "AI 쌍방향 홈트레이닝 인증번호는 [" + numStr + "] 입니다.");
coolsms.send(params); // 메시지 전송
return numStr;
}
'Framework > SpringBoot' 카테고리의 다른 글
springboot/ import 카카오페이 결제 모듈 구현하기 (0) | 2022.05.08 |
---|---|
cafe24 호스팅으로 스프링 프로젝트 배포하기 (0) | 2022.03.21 |
(Stringboot) 🅳 Mybatis 회원 삭제 (0) | 2022.03.18 |
(Springboot) 🆄 Mybatis 회원 수정 화면 및 처리 (0) | 2022.03.18 |
(Springboot) 🅲 Mybatis 회원가입 ID중복검사(ajax), 유효성 검사 (0) | 2022.03.02 |