-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
확인 메일 재전송 문의
20.04.23 17:29 작성 조회수 255
3
현재 Email Check Token 의 생성과 생성시간을 도메인에서 같이 관리하는데 이 비즈니스 로직은 계정을 처음 생성할 때만 호출합니다.
public void generateEmailCheckToken() {
emailCheckToken = UUID.randomUUID().toString();
emailCheckTokenGeneratedAt = LocalDateTime.now();
}
현재 코드로는 회원 가입 후 한시간이 지난 후면 계속 메일을 보낼 수 있을 것 같습니다. (따라서, 제 생각에는 수정이 필요해 보입니다.)
질문은 여기서 부터입니다.
그럼에도 일단 도메인에서 이렇게 만드신 이유는
체크 메일을 보낼 때 마다 토큰을 새로 생성해서 갱신하시려는 의도셨을 까요?
그런 의도가 맞다면 혹은 위의 의도대로 하려면
send mail 할 때 토큰을 새로 생성하여 보내도록 하는 것이 좋을 까요?
좋은 강의 잘보고 있습니다. 감사합니다 :)
답변을 작성해보세요.
2
osakapark
2021.12.31
저도 같은 질문 하려했는데.. 여기 답변이 있군요.
감사합니다.
저는 일단 아래와 같이 수정했습니다.
@GetMapping("/resend-confirm-email")
public String resendConfirmEmail(@CurrentUser Account account, Model model) {
if (!account.canSendConfirmEmail()) {
model.addAttribute("error", "인증 이메일은 1시간에 한번만 전송할 수 있습니다.");
model.addAttribute("email", account.getEmail());
return "account/check-email";
}
member.generateEmailCheckToken(); //2021.12.31 추가
accountService.sendSignUpConfirmEmail(account);
return "redirect:/";
}
2
백기선
지식공유자2020.04.23
네 맞습니다. 체크 메일을 보낼 때마다 새로 토큰을 만들려는 의도였어요. 그리고 말씀하신대로 send mail 할 때 생성하는게 좋겠습니다. 감사합니다.
1
답변 3