본문 바로가기

프로젝트/토이 프로젝트9

Spring + Redis + S3 + 이메일 인증 + Docker + CI/CD - 5 이번 글에서는 Order, Item에 관한 CRUD 구현과 관련 통합 테스트를 담은 내용이다. 하지만, 시작하기전에 앞 글에서 수정한 내용이 있다. 1. SecurityConfiguration 수정 주문과 관련된 사항들은 이메일 인증이 된 사용자들이 이용하는게 좋을 것 같다는 생각이 들어 관련하여 적용했다. public class SecurityConfiguration { ... @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception{ ... http.authorizeHttpRequests( authorize -> authorize.requestMatchers(EXCLUDE_URL.stream() .map(AntPa.. 2024. 2. 22.
Spring + Redis + S3 + 이메일 인증 + Docker + CI/CD - 4 이번 글은 이메일 인증을 구현한 내용이다. Google SMTP를 활용하여 구현하였고 Spring에서 제공하는 API를 사용하였다. 이메일 인증의 흐름 사용자는 회원가입 후 이메일 인증을 해야 기타 작업을 할 수 있다. 사용자는 서버에 사용자의 이메일로 인증 번호 전송을 요청한다. 서버는 랜덤 인증 번호를 생성한 뒤 인증 번호를 Redis에 저장한다. 사용자의 이메일로 해당 인증 번호가 전송한다. 클라이언트는 서버에 인증 번호에 대한 검증을 요청한다. 만약 인증번호와 Redis에 저장된 값이 같다면 true를 반환한다. 구글 SMTP 계정 설정 이메일 전송을 위해선 SMTP 설정을 해야하기에 구글 계정 설정을 해줘야 한다. 구글 로그인 -> 프로필 이미지 -> Google 계정 관리 -> 검색창에 "앱 .. 2024. 2. 21.
Spring + Redis + S3 + 이메일 인증 + Docker + CI/CD - 3 이번 글에서는 통합 테스트와 예외 처리에 관한 내용이다. 하지만, 시작하기전에 앞 글에서 수정한 내용들이 있다. 1. open-in-view 처리 일명 OSIV를 False 하였다. OSIV에 관한 설명은 아래를 참조 바란다. https://hdbstn3055.tistory.com/14 [SpringBoot] OSIV와 성능 최적화 OSIV는 Open Session In View의 약자이다. OSIV는 Spring에 spring.jpa.open-in-view: true 기본값으로 설정되어 있다. OSIV 전략은 최초 데이터베이스 커넥션 시작부터 API 응답(View에 전송 및 DTO 반환 등)이 끝날 때 hdbstn3055.tistory.com 2. User에 Gender Enum 추가 public cl.. 2024. 2. 19.
Spring + Redis + S3 + 이메일 인증 + Docker + CI/CD - 2 변명으로 시작하자면.. 정보처리기사와 치과 때문에 토이 프로젝트에 진행이 빠르지 못했다.. 그래도 매일 매일 조금씩 진행한 Spring Boilerplate를 담고자 한다. JWT를 사용하여 Spring Boilerplate를 구현한건 처음이 아니지만, 늘 할 때마다 새롭고 난해한 것 같다. 그리고 요번에는 테스트 코드도 함께 작성하며 이해하고 진행하였기에 좀 더 오래 걸린 것 같다. 잘 한번 정리해보자.(테스트 코드와 관련해서는 다음 글에서 다루겠다.) Spring Security는 무엇인가? Spring Security는 인증 및 인가를 지원하는 Spring의 보안 프레임워크이다. Spring MVC에서 보안을 적용하기 위한 표준이라고 할 수 있다. Spring Security는 Interceptor.. 2024. 2. 14.