JwtUtil 클래스 생성하기 : 코드 설명
·
Framework/Spring
1. JwtUtil 클래스의 역할1️⃣ 토큰 생성사용자 인증 정보를 기반으로 JWT 토큰을 생성합니다.토큰을 생성할 때, 필요한 Claim을 포함하고, Signature를 통해 토큰의 무결성을 보장합니다. 2️⃣ 토큰 검증클라이언트로부터 전달 받은 JWT토큰의 유효성을 확인합니다.토큰의 만료시간, 서명, 클레임 정보등이 포함되어, 토큰이 위조나 변조되지 않았는지 확인합니다. 3️⃣ 토큰 파싱JWT 토큰에 포함된 정보를 추출(파싱)하여, 사용자 식별 정보나 권한 같은 데이터를 반환합니다.이를 통해 애플리케이션 내에서 사용자 인증 및 권한 부여를 효율적으로 처리할 수 있습니다.   2. JwtUtil 클래스 생성하기(1) 필드 설정하기[JwtUtil 필드]private static final String B..
[플러스 주차 개인과제] 레벨 2 문제 해결 과정
·
Framework/Spring
1. JPA Cascade(1) 문제 요구사항   (2) 문제 풀이기존 코드에서는 Todo 엔티티를 저장할 때, 연관된 Manager 엔티티가 자동으로 저장되지 않습니다.따라서 데이터베이스에 Manager 정보가 남지 않아, 별도로 저장해야 하는 번거로움이 있습니다. 이 문제를 해결 하기 위해서 Todo 엔티티의 managers필드에 `cascade = CascadeType.PERSIST`를 적용하였습니다. [수정한 코드]public class Todo extends Timestamped { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String title; private St..
토큰 기반 인증과 JWT: 액세스 토큰과 리프레시 토큰의 핵심 이해
·
Framework/Spring
1. 토큰 기반 인증이란?사용자가 서버에 접근할 때, 인증된 사용자인지 확인하는 방법은 크게 두 가지로 나뉜다. (1) 토큰 기반 인증 vs 세션 기반 인증1️⃣ 토큰 기반 인증클라이언트가 토큰을 보관하고 요청 시 전송 → 서버는 무상태성 유지2️⃣ 세션 기반 인증 서버가 사용자 정보를 세션으로 저장 → 상태 유지 필요 1️⃣ 토큰 기반 인증토큰은 서버에서 클라이언트를 구분하기 위한 값으로, 서버에서 토큰을 생성하여 클라이언트에 제공한다.클라이언트를 해당 토큰을 저장하고 있다가 API 요청시 함께 전송한다.서버는 토큰을 검증하여 유효한 사용자인지 확인한다.서버가 인증 정보를 저장하지 않기 때문에 무상태성을 유지할 수 있고, 확장성이 뛰어나다. 2️⃣ 세션 기반 인증서버는 사용자마다 세션을 생성하여 사용자..
JPA를 사용한 조회 기능 구현 - 날씨와, 일정 날짜 필터링
·
Framework/Spring
1. 개요내일배움 캠프 [Spring 5기] 플러스 주차 개인 과제 진행 중,레벨 1단계 3. 코드 개선 퀴즈 - JPA의 이해 문제를 해결 하고 있었습니다.해당 문제 풀이 과정을 작성하고자 합니다.   (1) 기존 코드    (2) 요구 사항    2. 컨트롤러 계층[수정 전]@GetMapping("/todos")public ResponseEntity> getTodos( @RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "10") int size) { return ResponseEntity.ok(todoService.getTodos(page, size));}  (1) 첫 번째 요구사항 : we..
컨트롤러에서 Page 객체를 응답할 때, 발생하는 경고 해결하기
·
Framework/Spring
1. 경고 메시지 발생(1) 개발환경개발 환경버전Java17OpenJDK23.0.2Spring Boot3.4.3   (2) 경고 발견3.4.3 스프링 부트를 사용하는 프로젝트에서 Page를 이용하여 페이지네이션 진행을 하였습니다.서버를 작동하니 아래의 경고 문구가 발생하였습니다.2025-03-01T20:06:40.421+09:00 WARN 7226 --- [Project] [nio-8080-exec-1] ration$PageModule$WarningLoggingModifier : Serializing PageImpl instances as-is is not supported, meaning that there is no guarantee about the stability of the resulting..