이전의 한 포스팅에서 프로젝트의 로그인 구현을 위해 Spring Security와 JWT를 다룬 적이 있다. 하지만 Spring Security의 내용이 초심자가 다루기엔 쉽지 않고, 한 번 사용해 봤다고 해서 인사이트가 한 번에 생기지는 않는다고 생각하여 새로운 시리
앞서
Refresh 토큰을 일반 DB에서 관리하게 된다면, Access 토큰의 재발급 요청마다 DB를 조회해야 하는 무거운 비용이 생기게 된다. 이러한 비용을 최소화하기 위해 더 저렴한 저장 방식이 필요한데..특징
이번 포스팅은 JWT 토큰 관련 클래스에 대해 다루겠다.우선 다음의 의존성을 추가하자.TokenProvider는 토큰 관련 기능을 제공하는 클래스이다.주요 기능으로 다음과 같은 것이 있다.토큰 생성: 사용자 인증 정보를 바탕으로 토큰 생성. 토큰 검증: 서버로 전송된
이번 포스팅은 Security 적용을 위한 세팅과 클래스들을 작성하는 시간을 가지겠다.(버전 3.2.2)@EnableWebSecurity 어노테이션을 사용하여 스프링 시큐리티의 보안 구성을 활성화할 수 있다. configuration 클래스는 스프링부트 버전이 3.X.
본격적인 코드 구현 전에 Spring Security의 인증 절차에 대해 알아보자.
지난 포스팅에서 AuthenticationManager가 인증 완료된 Authentication 객체를 가져오고, JWT 토큰을 발급하는 단계까지 다뤘다.인가 단계는 다음과 같은 과정을 가진다.클라이언트에서 토큰을 포함한 API 요청.인가 필터에서 토큰 유효성 검증.검
이번 포스팅은 예외 핸들러를 등록하는 과정을 다뤄보겠다. 기본 핸들러가 아닌 커스텀 핸들러를 통해 각 인증 예외 상황 발생시 적절한 에러 응답을 보내는것이 목적이다. 이제 어떤 예외 상황에 대해서 처리할지에 대해 생각해보자. 401 에러는 인증되지 않음을 나타내는 에러
이제 Security JWT 로그인에 관한 모든 클래스들을 구현하였다. Postman을 통해 각 요청들이 제대로 처리되는지 확인해보자.