Spring Security/Spring Boot Jwt with JPA and Redis(8)
-
프로젝트 소개 및 설정
프로젝트 설정은 메이븐 모듈로 api-server, auth-server로 생성합니다. api-server는 쇼핑몰로 예를 들면 쇼핑몰 구현을 위한 API 연동을 위한 프로젝트라고 생가하면 됩니다. api-server에서는 Token의 발급, 재발급, 폐기 기능을 구현하지 않습니다. auth-server는 사용자 등록, 토큰의 발급, 재발급, 토큰 폐기를 관리합니다. 위와 같이 나눈 이유는 보안적인 측면과 MSA 서비스 구현시 기능의 중복을 피할 수 있기 때문입니다. 아래 그림은 프로젝트 구조입니다. 프로젝트 설정 완료 후 auth-server 실행 후 테이블 생성 및 데이터 확인을 합니다. 테이블은 Entity Class 기반으로 자동 생성되게 되어 있습니다. H2DB 접속 브라우저에서 http://l..
2021.06.27 -
Token Life Cycle And Cookie
예제를 시작하기 앞서 토큰의 생명주기와 쿠키에 대한 설명을 하려고 한다. 토큰은 사용자가 로그인을 하고 사이트 접속 유무에 따라서 토큰의 발급, 재발급, 만료를 관리하게 된다. 토큰을 관리하는 방식은 여러 가지가 있지만 예제에서는 쿠키를 이용하여서 토큰의 정보를 관리하게 된다. 01. Token AcessToken AccessToken은 JWT를 이용하여 발급하게 된다. 아래 그림을 보면 Token의 구조에 대해 알 수 있을 것이다. 위의 그림에서 볼 수 있는지 AccessToken에는 사용자의 데이터도 포함되어 있다. 보통은 AccessToken은 만료 시간 설정을 짜게 한다. 이유는 암호화가 되어있긴 하지만 Token을 탈취당할 수도 있기 때문에 짧게 설정한다. 대신에 다음에 설명할 RefreshTo..
2021.06.27