Cộng đồng Hỏi & Đáp của Inflearn
확인 메일 재전송 문의
Viết
·
412
3
현재 Email Check Token 의 생성과 생성시간을 도메인에서 같이 관리하는데 이 비즈니스 로직은 계정을 처음 생성할 때만 호출합니다.
public void generateEmailCheckToken() {
emailCheckToken = UUID.randomUUID().toString();
emailCheckTokenGeneratedAt = LocalDateTime.now();
}
현재 코드로는 회원 가입 후 한시간이 지난 후면 계속 메일을 보낼 수 있을 것 같습니다. (따라서, 제 생각에는 수정이 필요해 보입니다.)
질문은 여기서 부터입니다.
그럼에도 일단 도메인에서 이렇게 만드신 이유는
체크 메일을 보낼 때 마다 토큰을 새로 생성해서 갱신하시려는 의도셨을 까요?
그런 의도가 맞다면 혹은 위의 의도대로 하려면
send mail 할 때 토큰을 새로 생성하여 보내도록 하는 것이 좋을 까요?
좋은 강의 잘보고 있습니다. 감사합니다 :)
thymeleafjavaspring-bootspringJPA
Quiz
71% người trả lời sai. Hãy thử ngay!
회원 가입 시 이메일 인증 절차를 사용하는 가장 중요한 이유가 무엇일까요?
계정 도메인 모델의 복잡성 증가를 위해서
실제 사용자인지 확인하고 스팸 가입을 방지하기 위해
패스워드 인코딩 과정을 간소화하기 위해
프론트엔드 라이브러리 설정을 쉽게 하기 위해
Câu trả lời 3
2
저도 같은 질문 하려했는데.. 여기 답변이 있군요.
감사합니다.
저는 일단 아래와 같이 수정했습니다.
@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
whiteship
Người chia sẻ kiến thức
네 맞습니다. 체크 메일을 보낼 때마다 새로 토큰을 만들려는 의도였어요. 그리고 말씀하신대로 send mail 할 때 생성하는게 좋겠습니다. 감사합니다.
1





