[JWT를 활용한 일반 로그인 API 구현] 과정을 기록해보려고 한다. 프로젝트 개발 환경은 아래와 같다.Java: 17JDK: 17.0.6IDE: IntelliJ IDEA 2024.1Framework: Spring Boot 3.3.1 로그인 API 구현하기지금까지 토큰 발급부터 토큰 인증 처리까지 모든 기능을 구현했다. 이제 비즈니스 로직을 완성해 보자. MemberRequestDTO, MemberResponseDTOa. MemberRequestDTO.MemberLoginDTO클라이언트에게 받을 정보의 틀이 되는 class로, 이메일과 비밀번호를 입력받는다.public class MemberRequestDTO { ... @Getter public static class M..
spring security
[JWT를 활용한 일반 로그인 API 구현] 과정을 기록해보려고 한다. 프로젝트 개발 환경은 아래와 같다.Java: 17JDK: 17.0.6IDE: IntelliJ IDEA 2024.1Framework: Spring Boot 3.3.1 Spring Security의 구조(Filter)와 인증(Authentication) 구조에 대한 설명은 아래 글을 참고하자. [Spring Security] Spring Security의 구조(Filter) 이해하기[JWT를 활용한 로그인, 로그아웃, 회원탈퇴 API 구현 방법]에 대해 설명하기 전, 공식 문서를 보면서 Spring Security의 기본 개념(Filter)에 대해 학습해보려고 한다. API를 구현할 때 사용한 자바, 스프dev-meung.tistory...
[JWT를 활용한 일반 로그인 API 구현] 과정을 기록해보려고 한다. 프로젝트 개발 환경은 아래와 같다.Java: 17JDK: 17.0.6IDE: IntelliJ IDEA 2024.1Framework: Spring Boot 3.3.1 JWT에 대한 설명은 아래 글을 참고하자. [팀 프로젝트] 하루치(HARUCHI) - 쿠키(Cookie)와 세션(Session), 토큰(Token) 차이 & JWT(JSON Web Token)JWT를 활용한 인증 및 인가(로그인, 로그아웃, 회원탈퇴) 기능 구현 방법에 대해 작성하기 전, 기본 개념부터 정리해두려고 한다. 사실 완벽하게 이해하고 구현했다기보단 최소한의 필요한 게 뭔dev-meung.tistory.com Spring Security의 구조(Filter)와 인..

이전 글에서 Spring Security가 Filter를 통해 요청을 처리하는 방식에 대해 학습했다. 이번엔 아래 글을 바탕으로 Spring Security의 인증(요청에 따라 사용자의 신원을 확인하는 방식) 기능에 대해 알아보려고 한다. [Spring Security] Spring Security의 구조(Filter) 이해하기[JWT를 활용한 로그인, 로그아웃, 회원탈퇴 API 구현 방법]에 대해 설명하기 전, 공식 문서를 보면서 Spring Security의 기본 개념(Filter)에 대해 학습해보려고 한다. API를 구현할 때 사용한 자바, 스프dev-meung.tistory.com API를 구현할 때 사용한 자바, 스프링 부트, 라이브러리 버전은 아래와 같다.Java: 17Spring Boot: ..

앞에 이메일 인증 요청과 인증 코드 확인까지 완벽하게 성공한 줄 알았는데, 나중에 로그인 기능을 구현할 때 계속해서 인증이 막혔었다. 분명 코드도 잘 짜놨고 제대로 이해했다고 생각했는데 같은 오류가 반복돼서 멘붕이 왔었던 것 같다. 오류 1BadCredentialException: 자격 증명에 실패하였습니다.로그인에 필요한 기능들을 공부하고 API를 구현했다면 좋았겠지만... 구현 기한이 정해져 있기도 했고 공부할 시간이 부족해서 다른 사람들의 코드를 참고하면서 구현했다. 계속되는 오류에 코드를 갈아엎을까 고민했지만 로그인 구현은 문제가 없다고 생각해서 내가 기존에 작성한 코드에서 문제가 생기는 건 아닐지 확인하기로 했다.org.springframework.security.authentication.Ba..

7.18(목) 백엔드 회의에서 API 명세서를 바탕으로 역할 분배를 했다. 어떻게 나눌까 하다가 최대한 동시에 작업할 수 있도록 도메인 별로 5~7개 정도씩 나눴고, 나는 그중에서 회원 도메인을 담당하게 됐다. 크게 보면 회원가입과 로그인, 로그아웃, 회원 정보 조회 API를 구현해야 했다. 소셜 로그인(애플)에서 이메일 인증 방식을 사용한 회원가입으로 바꾸기로 해서 구글과 GitHub에 관련된 내용을 검색해 봤다. 이미 로그인을 구현해 본 제아가 공유해 준 본인의 블로그 글도 참고하면서 진행했다. 개발 환경은 아래와 같다.Java 17Spring Boot 3.3.1GradleIntelliJ(IDE)MySQL(Main DB), Redis(Sub DB) Redis보통 이메일 인증 방식을 사용할 때 인증 코..