Spring Security에서 JWT를 사용할 때 클라이언트 요청에서 부터 서버에서 인증 처리가 어떻게 흘러가는지 과정을 정리한다. 요약하자면- 클라이언트 요청이 들어오면, 스프링에서는 먼저 Spring Security Filter Chain이 작동하면서 JWT를 기반으로 인증을 처리한다.- 그리고 그 결과를 SecurityContextHolder에 저장한다.- 이후 DispatcherServlet이 요청을 받아 컨트롤러를 실행하고,- @AuthenticationPrincipal 어노테이션을 통해 인증된 사용자 정보를 사용할 수 있다. 전체 흐름 다이어그램[Client] │ ├─> Request (jwt를 쿠키 혹은 헤더로 전송) ↓[Spring Security Filter Chain] │ ├..
원인브라우저는 크로스 도메인 요청 CORS일 때, 보안의 문제로 기본적으로 쿠키를 보내지 않는다.따라서 CORS 요청에서 쿠키 포함 여부를 클라이언트, 서버 모두 명시적으로 설정해야한다. 해결법1. 클라이언트 요청에 withCredentials: true 또는 credentials: 'include' 포함axios.get('https://example.com/api', { withCredentials: true,}) 2. 서버에서 Access-Control-Allow-Credentials: true 설정하기Spring WebMvcConfigurer에서 CORS 설정도 필요하다..allowedOrigins("*")와 allowCredentials(true)는 함께 사용할 수 없기 때문에 명시적으로 or..
- Total
- Today
- Yesterday
- Java
- MongoDB
- bucket4j
- addFilterBefore
- 티스토리챌린지
- Kotlin
- 추상클래스
- ChatGPT
- MultipleBagFetchException
- 오블완
- Cannot construct instance of
- 스프링오류
- 스프링 스케줄링
- checkout
- 배열
- spring boot 3
- FetchJoin
- Spring Security
- jvm warm-up 전략
- 자바 어플리케이션 실행 과정
- array
- dto 클래스 생성자
- Linux
- JPA
- junit5
- QueryDSL
- n+1
- port
- redisson 분산락
- Git
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |