-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #114 from thisis-joe/fix/111-EmailAuthSystem
fix/111-EmailAuthSystem
- Loading branch information
Showing
9 changed files
with
148 additions
and
154 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
15 changes: 15 additions & 0 deletions
15
src/main/java/GHOST/sk_ghost/common/CertificationNumber.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
package GHOST.sk_ghost.common; | ||
|
||
//인증번호 생성 | ||
public class CertificationNumber { | ||
|
||
public static String getCertificationNumber(){ | ||
String certificationNumber=""; | ||
|
||
for (int count=0;count<4;count++) certificationNumber += (int)(Math.random()*10); | ||
|
||
return certificationNumber; | ||
} | ||
|
||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,56 +1,33 @@ | ||
//package GHOST.sk_ghost.config; | ||
// | ||
//import java.util.Properties; | ||
// | ||
//import org.springframework.beans.factory.annotation.Value; | ||
//import org.springframework.context.annotation.Bean; | ||
//import org.springframework.context.annotation.Configuration; | ||
//import org.springframework.context.annotation.PropertySource; | ||
//import org.springframework.mail.javamail.JavaMailSender; | ||
//import org.springframework.mail.javamail.JavaMailSenderImpl; | ||
// | ||
// | ||
//import java.util.Properties; | ||
//@Configuration | ||
//@PropertySource("classpath:email.properties") | ||
//public class EmailConfig { | ||
// @Bean | ||
// public JavaMailSender mailSender() {//JAVA MAILSENDER 인터페이스를 구현한 객체를 빈으로 등록하기 위함. | ||
// | ||
// @Value("${mail.smtp.port}") | ||
// private int port; | ||
// @Value("${mail.smtp.socketFactory.port}") | ||
// private int socketPort; | ||
// @Value("${mail.smtp.auth}") | ||
// private boolean auth; | ||
// @Value("${mail.smtp.starttls.enable}") | ||
// private boolean starttls; | ||
// @Value("${mail.smtp.starttls.required}") | ||
// private boolean startlls_required; | ||
// @Value("${mail.smtp.socketFactory.fallback}") | ||
// private boolean fallback; | ||
// @Value("${AdminMail.id}") | ||
// private String id; | ||
// @Value("${AdminMail.password}") | ||
// private String password; | ||
// JavaMailSenderImpl mailSender = new JavaMailSenderImpl();//JavaMailSender 의 구현체를 생성하고 | ||
// mailSender.setHost("smtp.gmail.com");// 속성을 넣기 시작합니다. 이메일 전송에 사용할 SMTP 서버 호스트를 설정 | ||
// mailSender.setPort(587);// 587로 포트를 지정 | ||
// mailSender.setUsername("[email protected]");//구글계정을 넣습니다. | ||
// mailSender.setPassword("ojlmaepmjaqbpmsw");//구글 앱 비밀번호를 넣습니다. | ||
// | ||
// @Bean | ||
// public JavaMailSender javaMailService() { | ||
// JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl(); | ||
// javaMailSender.setHost("smtp.gmail.com"); | ||
// javaMailSender.setUsername(id); | ||
// javaMailSender.setPassword(password); | ||
// javaMailSender.setPort(port); | ||
// javaMailSender.setJavaMailProperties(getMailProperties()); | ||
// javaMailSender.setDefaultEncoding("UTF-8"); | ||
// return javaMailSender; | ||
// } | ||
// private Properties getMailProperties() | ||
// { | ||
// Properties pt = new Properties(); | ||
// pt.put("mail.smtp.socketFactory.port", socketPort); | ||
// pt.put("mail.smtp.auth", auth); | ||
// pt.put("mail.smtp.starttls.enable", starttls); | ||
// pt.put("mail.smtp.starttls.required", startlls_required); | ||
// pt.put("mail.smtp.socketFactory.fallback",fallback); | ||
// pt.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); | ||
// return pt; | ||
// Properties javaMailProperties = new Properties();//JavaMail의 속성을 설정하기 위해 Properties 객체를 생성 | ||
// javaMailProperties.put("mail.transport.protocol", "smtp");//프로토콜로 smtp 사용 | ||
// javaMailProperties.put("mail.smtp.auth", "true");//smtp 서버에 인증이 필요 | ||
// javaMailProperties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");//SSL 소켓 팩토리 클래스 사용 | ||
// javaMailProperties.put("mail.smtp.starttls.enable", "true");//STARTTLS(TLS를 시작하는 명령)를 사용하여 암호화된 통신을 활성화 | ||
// javaMailProperties.put("mail.debug", "true");//디버깅 정보 출력 | ||
// javaMailProperties.put("mail.smtp.ssl.trust", "smtp.naver.com");//smtp 서버의 ssl 인증서를 신뢰 | ||
// javaMailProperties.put("mail.smtp.ssl.protocols", "TLSv1.2");//사용할 ssl 프로토콜 버젼 | ||
// | ||
// mailSender.setJavaMailProperties(javaMailProperties);//mailSender에 우리가 만든 properties 넣고 | ||
// | ||
// return mailSender;//빈으로 등록한다. | ||
// } | ||
//} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,22 @@ | ||
//package GHOST.sk_ghost.controller; | ||
// | ||
//import GHOST.sk_ghost.dto.EmailRequestDto; | ||
//import GHOST.sk_ghost.service.EmailService; | ||
//import GHOST.sk_ghost.service.V1service; | ||
//import org.springframework.beans.factory.annotation.Autowired; | ||
//import org.springframework.stereotype.Controller; | ||
//import lombok.RequiredArgsConstructor; | ||
////import org.hibernate.annotations.Check; | ||
//import org.springframework.web.bind.annotation.PostMapping; | ||
//import org.springframework.web.bind.annotation.RequestParam; | ||
//import org.springframework.web.bind.annotation.RequestBody; | ||
//import org.springframework.web.bind.annotation.RestController; | ||
// | ||
//@Controller | ||
//public class Email { | ||
// @Autowired | ||
// private EmailService emailService; // Service 호출을 위한 객체 | ||
// @PostMapping("/emailConfirm") | ||
// public String emailConfirm(@RequestParam String email) throws Exception { | ||
//import javax.validation.Valid; | ||
// | ||
// String confirm = emailService.sendSimpleMessage(email); | ||
//@RestController | ||
//@RequiredArgsConstructor | ||
//public class Email { | ||
// private final EmailService mailService; | ||
// | ||
// return confirm; | ||
// @PostMapping("/mailSend") | ||
// public String mailSend(@RequestBody @Valid EmailRequestDto emailDto) { | ||
// System.out.println("이메일 인증 이메일 :" + emailDto.getEmail()); | ||
// return mailService.joinEmail(emailDto.getEmail()); | ||
// } | ||
//} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
package GHOST.sk_ghost.dto; | ||
|
||
import lombok.Getter; | ||
import lombok.Setter; | ||
|
||
import javax.validation.constraints.Email; | ||
import javax.validation.constraints.NotEmpty; | ||
@Getter | ||
@Setter | ||
public class EmailRequestDto { | ||
@Email//1)@기호를 포함해야 한다.2_@기호를 기준으로 이메일 주소를 이루는 로컬호스트와 도메인 파트가 존재해야 한다.3)도메인 파트는 최소하나의 점과 | ||
//그 뒤에 최소한 2개의 알파벳을 가진다를 검증 | ||
@NotEmpty(message = "이메일을 입력해 주세요") | ||
private String email; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,66 @@ | ||
//package GHOST.sk_ghost.service; | ||
//import org.springframework.beans.factory.annotation.Autowired; | ||
//import org.springframework.mail.javamail.JavaMailSender; | ||
//import org.springframework.mail.javamail.MimeMessageHelper; | ||
//import org.springframework.stereotype.Service; | ||
// | ||
//import javax.mail.MessagingException; | ||
////import javax.mail.internet.MimeMessage; | ||
//import java.util.Random; | ||
//import jakarta.mail.internet.MimeMessage; | ||
// | ||
// | ||
//public interface EmailService { | ||
// String sendSimpleMessage(String to)throws Exception; | ||
//@Service | ||
//public class EmailService { | ||
// @Autowired | ||
// private JavaMailSender mailSender; | ||
// private int authNumber; | ||
// | ||
// //임의의 6자리 양수를 반환합니다. | ||
// public void makeRandomNumber() { | ||
// Random r = new Random(); | ||
// String randomNumber = ""; | ||
// for(int i = 0; i < 6; i++) { | ||
// randomNumber += Integer.toString(r.nextInt(10)); | ||
// } | ||
// | ||
// authNumber = Integer.parseInt(randomNumber); | ||
// } | ||
// | ||
// | ||
// //mail을 어디서 보내는지, 어디로 보내는지 , 인증 번호를 html 형식으로 어떻게 보내는지 작성합니다. | ||
// public String joinEmail(String email) { | ||
// makeRandomNumber(); | ||
// String setFrom = "[email protected]"; // email-config에 설정한 자신의 이메일 주소를 입력 | ||
// String toMail = email; | ||
// String title = "회원 가입 인증 이메일 입니다."; // 이메일 제목 | ||
// String content = | ||
// "나의 APP을 방문해주셔서 감사합니다." + //html 형식으로 작성 ! | ||
// "<br><br>" + | ||
// "인증 번호는 " + authNumber + "입니다." + | ||
// "<br>" + | ||
// "인증번호를 제대로 입력해주세요"; //이메일 내용 삽입 | ||
// mailSend(setFrom, toMail, title, content); | ||
// return Integer.toString(authNumber); | ||
// } | ||
// | ||
// //이메일을 전송합니다. | ||
// public void mailSend(String setFrom, String toMail, String title, String content) { | ||
// MimeMessage message = mailSender.createMimeMessage();//JavaMailSender 객체를 사용하여 MimeMessage 객체를 생성 | ||
// try { | ||
// MimeMessageHelper helper = new MimeMessageHelper(message,true,"utf-8");//이메일 메시지와 관련된 설정을 수행합니다. | ||
// // true를 전달하여 multipart 형식의 메시지를 지원하고, "utf-8"을 전달하여 문자 인코딩을 설정 | ||
// helper.setFrom(setFrom);//이메일의 발신자 주소 설정 | ||
// helper.setTo(toMail);//이메일의 수신자 주소 설정 | ||
// helper.setSubject(title);//이메일의 제목을 설정 | ||
// helper.setText(content,true);//이메일의 내용 설정 두 번째 매개 변수에 true를 설정하여 html 설정으로한다. | ||
// mailSender.send(message); | ||
// } catch (MessagingException e) {//이메일 서버에 연결할 수 없거나, 잘못된 이메일 주소를 사용하거나, 인증 오류가 발생하는 등 오류 | ||
// // 이러한 경우 MessagingException이 발생 | ||
// e.printStackTrace();//e.printStackTrace()는 예외를 기본 오류 스트림에 출력하는 메서드 | ||
// } | ||
// | ||
// | ||
// } | ||
// | ||
//} |
85 changes: 0 additions & 85 deletions
85
src/main/java/GHOST/sk_ghost/service/EmailServiceImpl.java
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -39,12 +39,14 @@ jasypt.encryptor.bean.prefix= ENC( | |
jasypt.encryptor.bean.suffix= ) | ||
|
||
## EmailAuth | ||
#mail.smtp.auth=true | ||
#mail.smtp.starttls.required=true | ||
#mail.smtp.starttls.enable=true | ||
#mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory | ||
#mail.smtp.socketFactory.fallback=false | ||
#mail.smtp.port=465 | ||
#mail.smtp.socketFactory.port=465 | ||
#AdminMail.id = [email protected] | ||
#AdminMail.password = ???? ? ????? ?? | ||
#spring.mail.smtp.host=smtp.google.com | ||
#spring.mail.smtp.port=587 | ||
#[email protected] | ||
#spring.mail.smtp.pasword=ojlmaepmjaqbpmsw | ||
# | ||
## EmailAuth - Options | ||
#spring.mail.properties.mail.smtp.auth=true | ||
#spring.mail.properties.mail.smtp.starttls.enable=true | ||
##spring.mail.properties.mail.smtp.starttls.required=true | ||
##spring.mail.properties.mail.debug=true | ||
##spring.mail.properties.mail.smtp.connectiontimeout=5000 |