일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 묵상
- 설교
- 한동대학교
- 유태준교수님
- SQL
- FE
- dbms
- typeScript
- csee
- 글로벌리더십학부
- 혼자공부하는sql
- SQLD
- Software Engineering
- 날마다 솟는 샘물
- QT
- 찬양
- Database
- 어노인팅
- 전산전자공학부
- 데이터베이스
- CHEMISTRY
- 웹개발
- 화학
- 일반화학
- GLS
- CCM
- 예배
- 날솟샘
- 프론트엔드
- 남재창교수님
- Today
- Total
목록웹 개발/Spring Boot (5)
멈추지 않는 기록

토큰 기반 인증 시스템을 구현하다가, 아주 애매한 상황을 하나 겪었다. 무려 2시간에 걸쳐서 말이다. 서버는 분명히 Authorization 헤더를 응답에 담아서 보내주는데, 클라이언트에서는 이게 undefined로 나오는 현상이었다... 🧩 문제 상황 프론트엔드(React)에서 axios로 로그인 요청을 보내고, Spring Boot 서버는 로그인 성공 후 Authorization: Bearer ... 형식으로 accessToken을 응답 헤더에 담아 보냈다. 그리고 프론트에서는 이렇게 꺼내려고 했다.const token = response.headers["authorization"]; // ❌ undefined근데... 아무리 찍어봐도 undefined였다. 심지어 개발자도구(Network 탭)..

1. LoginID/PW를 Controller에서 받고, TokenFactory에게 부탁해서 토큰을 받고 RefreshToken을 Header에 담아서 반환했다.-> 이 기능을 Spring에서는 AuthenticationFilter를 사용한다. 2. RF를 가지고 AT를 발급 받았다. 3. AT을 Header에 담아서 사용할 때 유효한 값인지 확인하는 인터셉터-> 이 기능을 Spring에서는 AuthorizationFilter를 사용한다. SecurityConfig 파일 생성하기 -> 패키지명 해당 프로젝트로 수정하기 build.gradle에서 security 사용을 위한 부분 주석 풀기 - (임시) ExternalProperties 객체에 값을 주입해서, 그것을 꺼내서 사용할 예정이다. Secur..

이번에는 TokenFactory를 사용하여 RefreshToken을 생성한 뒤에, 해당 토큰 값을 제공하는 기능을 구현해보고자 한다. 오늘 스터디의 중요 내용은 아래와 같다.TokenFactory.javagenerateToken / verifyTokenheader TokenFactory.java0) 전체 코드package com.thc.sprboot.util;import java.util.Arrays;public class TokenFactory { String prefix = "Bearer/u0020"; // 토큰의 접두사 정의 // 사용자 ID를 기반으로 토큰을 생성하는 메서드 public String generateToken(Long userId) { String to..

스프링 구조 이해Controller, Service, Repository는 스프링 애플리케이션의 3계층 구조를 이루는 핵심 구성 요소다. - Controller: 클라이언트의 요청을 받아 처리하는 역할을 한다. HTTP 요청을 받고, 필요한 데이터를 가공한 후 응답을 반환한다. @RestController 또는 @Controller를 사용한다.- Service: 비즈니스 로직을 담당하는 계층이다. Controller에서 받은 요청을 처리하고, 필요한 경우 Repository를 호출하여 데이터를 조회·변경한다. @Service를 사용한다.- Repository: 데이터베이스와 직접적으로 소통하는 계층이다. JPA, MyBatis 등을 이용해 데이터를 저장·조회·수정·삭제하는 역할을 한다. @Reposito..