강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của jundragon
jundragon

câu hỏi đã được viết

Phát triển ứng dụng web dựa trên Spring và JPA

Gửi lại email xác nhận

확인 메일 재전송 문의

Viết

·

403

3

현재 Email Check Token 의 생성과 생성시간을 도메인에서 같이 관리하는데 이 비즈니스 로직은 계정을 처음 생성할 때만 호출합니다.

public void generateEmailCheckToken() {
    emailCheckToken = UUID.randomUUID().toString();
    emailCheckTokenGeneratedAt = LocalDateTime.now();
}

현재 코드로는 회원 가입 후 한시간이 지난 후면 계속 메일을 보낼 수 있을 것 같습니다. (따라서, 제 생각에는 수정이 필요해 보입니다.)

질문은 여기서 부터입니다.

그럼에도 일단 도메인에서 이렇게 만드신 이유는

체크 메일을 보낼 때 마다 토큰을 새로 생성해서 갱신하시려는 의도셨을 까요?

그런 의도가 맞다면 혹은 위의 의도대로 하려면

send mail 할 때 토큰을 새로 생성하여 보내도록 하는 것이 좋을 까요?

좋은 강의 잘보고 있습니다. 감사합니다 :)

thymeleafjavaspring-bootspringJPA

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님의 프로필 이미지
whiteship
Người chia sẻ kiến thức

네 맞습니다. 체크 메일을 보낼 때마다 새로 토큰을 만들려는 의도였어요. 그리고 말씀하신대로 send mail 할 때 생성하는게 좋겠습니다. 감사합니다.

1

옷!! 같은 이슈네요. ^^
저도 그부분 추가햇어요.
감사합니다.

Hình ảnh hồ sơ của jundragon
jundragon

câu hỏi đã được viết

Đặt câu hỏi