-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat : mail authentication add #86
Conversation
.message("Authentication successful!!") | ||
.build(); | ||
|
||
Objects.requireNonNull(userSessionInfo).changeStatus(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이미 상단에서 userSessionInfo 의 null 체크를 진행되어있지만, 한번 더 체크해주셔서 좋네요!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
혹시 몰라서,,,, 2차 트랩을 설치 했습니다 ㅎㅎ
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
좋습니다ㅎㅎ
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
수고하셨습니다 :)
public void changeStatus() { | ||
this.isVerification = !this.isVerification; | ||
this.updateTime = LocalDateTime.now(); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
isVerification 을 false -> true 로 설정해주는 것 외 true -> false 로도 설정하기 위해서 위와 같이 로직을 구현한걸까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
지금은 false -> true 설정만 필요하긴 한데 true -> false 설정이 필요한 일이 생길 수도 있지 않을까 해서 설정했습니다!!
String authNum = randomNumber.generateVerificationCode(); | ||
|
||
String subject = "회원 가입 인증 코드"; | ||
String body = "안녕하세요!\n\n회원 가입을 위한 인증 코드를 안내드립니다. 아래의 인증 코드를 입력하여 계정을 활성화하세요:\n\n" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
저희가 이제 이메일을 보내는 상황이 두 가지 발생할 것 같아요. 하나는 이메일 인증, 나머지는 결과전송.
즉, 이메일 body 를 생성하는 데 두 가지 타입으로 생성해야됩니다. 또한 추후 더 확장될 수 있어요. 그렇다면 유지보수가 편하도록 생성해야할 것 같습니다.
생각해본 방법으론 String createBody(String... args)
를 상속받도록 하는 것 입니다. 다만 args 의 인자 수가 고정되어있지 않기에 "코드작성 시 오류가 드러나지 않는다" 라는 단점이 있을 것 같아요.
만약 3개의 파라미터가 필요하지만 두 개만 기입했을 때, 코드상에서 오류를 반환하지 못함
최종 사용 형태를 미리 본다면 아래처럼 쓸 수 있도록 구현하고 싶습니다.
String verificationEmailBody = EmailBodyGenerator.createBody(new EmailVerificationFactory(), "userId", "name");
String resultEmailBody = EmailBodyGenerator.createBody(new ResultNotificationFactory(), "name", "testId", "templateId", "result1", "result2");
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아하 이해 했씁니다!! :)
한번 수정해볼께요 ! 지금은 너무 인증 코드에만 집중해서 메일이 발송되니 확장성이 전혀 없긴하네요 :(
현재 #85 merge 이후 conflict 나는 부분을 수정했습니다. 대부분 redis 추가로 인한 conflict 였습니다. 따라서 pull 이후 코딩 해주시면 감사하겠습니다 :) |
넵넵!! 테스트 코드 통과가 안되서 테스트 코드 추가좀 해야겠네요 ㅋㅋㅋ |
📝 Test code-coverage reports
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
수고하셨습니다 굿! 머지하겠습니다 :)
회원 가입시 이메일 인증 부분 구현 하였습니다!!
요번 인증 구현하면서 문득 든생각은 복잡하게 하면 한없이 복잡하고 간단하게 생각하면 너무 간단하게?
할 수 있겠다 라는 생각이 들었네요.
우선 스터디 회의 하면서 이야기 했던데로, session 에 정보를 저장해서 인증 코드 값을 비교하는 방식으로 구현하였습니다!
회원가입 front 부분은 조금 허접할 수 있습니다... :(