Spring boot kim's cafe/이메일발송시스템

Springboot 비밀번호찾기!(2) 임시비밀번호 발급

디비드킴 2021. 6. 16. 11:56

이제 인증번호 입력이 맞다면
db비밀번호를 임시 비밀번호로 바꿔주고
임시 비밀번호를 발송해주는 식으로 하려고 한다!

조금 헷갈릴수있으나
그냥 메일 두번보내는것이다!

일단 비밀번호-> 임시 비밀번호로 바꿔주는 함수를 만든다

userservice.java


이제 restcontroller로와서

restcontroller.java

userservice.confrimRandnum(email,randnum) randnum을 검사해주고

맞다면

emailservice.java

사실 어차피 이메일을 두 번 보내는 건데
한 개의 함수로  끝낼 수 있을 거 같은데 일단 이렇게 해봤다
utilservice.GetRandomNum(8); 8자리로 임시번호를 받고
아참 여짓것 randnum/temppwd는 String 형식이다
번호지만 string으로 주고받고 하고 있다
이게 확장성도 좋을 거 같다
나중에 특수문자 추가라던지

userservice.updateTempPwd(email,temppwd)db비밀번호를 바꿔주고
sendemail.sendEmail이메일 전송!

이제 ajax를 만들면 된다

js


위에 누락된 disabled도 넣어줬다
저게 없으면 확인 버튼이 안 눌려서
인증번호 제출이 불가능하다 ㅋㅋ

테스트

가입하지 않는 이메일 

단어를 바꿔야겠다
가입하지 않은 이메일로

존재하고 임시번호가 맞다면


db도 잘 바뀐다

이제 로그인

타 번호 입력 시 안되고
임시 비밀번호 입력 시

로그인성공

이메일은 실제 사용 중인 이메일이어서 가렸다

자는데 문제가 있다
userservice.confrimRandnum(email,randnum))를 보면
안에

userservice.java

이렇게 비밀번호 찾기만 했는데
이메일 인증이 되어 버리는 효과가 있다
물론 어차피 email에서
인증번호를 가져왔다는 건
해당 이메일에서 인증번호를
받아서 왔다는 건데
아마 따로 빼줘야 하지 않을까
라는 생각이 든다


이제 oauth2 로그인을 해보자!