Spring 129

[Spring Security] 8-1. OAuth2 Resource Server

1. OAuth2 Resource Server보호된 자원을 관리하는 서버✅ 보호된 자원의 요청에 대한 인증 과정을 담당함 Protect Access with an OAuth2 Access Token구분설명검증JWT자체 서명 토큰public key 사용Opaque Token토큰 내용을 알 수 없는 토큰인정 서버의 introspection 엔드포인트에 확인 요청 설정) JWT더보기더보기spring: security: oauth2: resourceserver: jwt: issuer-uri: https://my-auth-server.com@Configuration@EnableWebSecuritypublic class SecurityConfig { @Bean ..

[Tomcat 11] 1. Architecture

1. ArchitectureTomcat Server└── Service ├── Connector (HTTP / AJP) ← 요청을 받는 입구 └── Engine ← 요청 처리 총괄 ├── Host (www.site.com) │ ├── Context (/) │ ├── Context (/chat) │ └── Context (/admin) └── Host (api.site.com) ├── Context (/) └── Context (/v1)구성 요소정의역할Server톰캣의 전체 인스턴스이자 최상위 컨테이너여러 Service를 담고 전체 서버를..

Spring/Spring MVC 2026.04.16

[Tomcat 11] 2. Connector

1. HTTP 1.1 Connector특정 TCP 포트에서 연결을 받아서, 요청을 처리를 하게 하는 입구 (Engine으로 넘겨 처리함)non-async 요청 1개당 worker thread 1개를 처리 동안 점유함 2. AttributesCommon Attributes속성설명의미protocol어떤 HTTP connector 구현을 사용할지 정하는 설정현재 톰캣이 NIO 기반으로 동작하는지 이해하는 기준asyncTimeout비동기 요청의 기본 timeout 시간async 요청이 오래 걸릴 때 timeout 원인 해석 가능maxParameterCount요청에서 허용할 최대 파라미터 개수파라미터 폭주나 비정상 요청으로부터 서버 보호maxPartCountmultipart 요청에서 허용할 최대 part 개수파일..

Spring/Spring MVC 2026.04.15

[Spring][Validation] 3. Spring Bean Validation

Spring은 Bean Validation API를 완전하게 지원 1. LocalValidatorFactoryBeanSpring ↔️ Bean Validation 제공자를 연결해주는 브리지/어댑터 빈✅ Binding: Spring 바인딩 모델 연동 (Errors, BindingResult)✅ i18n: Spring MessageSource 연동✅ 커스텀 검증기 주입: 빈 등록을 통해 추가 가능✅ 제공자 감지: 클래스패스의 기본 Bean Validation 제공자 1개를 자동으로 감지 및 부트스트랩✅ 인터페이스: jakarta.validation.Validator, org.springframework.validation.Validator 설정) LocalValidatorFactoryBean더보기@Conf..

Spring/Spring 2025.10.13

[Spring Boot][Actuator] 1. 모니터링

1. 상태Health애플리케이션의 전반적인 헬스 상태를 제공함✅ 현재 애플리케이션이 정상 동작하는지, 아니면 오류가 있는지 알려줌 (UP/DOWN/OUT_OF_SERVICE)✅ path: "/actuator/health"Path설명예시 / 특징status애플리케이션 전체 상태예: UP, DOWNdetails애플리케이션 세부 상태 정보management.endpoint.health.show-details 값에 해당하는 정보 출력details.*.status특정 컴포넌트의 상태예: DB, 디스크, MQ 등details.*.details해당 컴포넌트의 추가 정보예: 남은 디스크 용량, DB 연결 여부 등 설정) application.yml더보기management: endpoints.web.exposure.i..

Spring/Spring Boot 2025.09.05

[Spring Security] 8-2. OAuth 2.0 Resource Server: JWT

1. Minimal Dependencies for JWT의존성 모듈역할spring-security-oauth2-resource-server리소스 서버 기본 기능spring-security-oauth2-joseJWT 디코딩 및 서명 검증 기능 2. Minimal Configuration for JWTsissuer-uri토큰을 발급한 Authorization Server의 발급자 주소단계동작의미1issuer-uri 기반으로 메타데이터 엔드포인트 호출인증 서버 정보 조회2메타데이터에서 jwks_uri 확인공개키 목록 위치 찾기3jwks_uri로 공개키 조회JWT 서명 검증용 키 확보4JwtDecoder 자동 구성JWT 검증기 생성5JWT의 iss 클레임 검증설정한 issuer와 토큰 issuer가 같은지 확인..

[Spring Security] 8-3. OAuth2 Resource Server: 동작 방식

리소스 서버는 외부 인가 서버에 인증/인가를 위임함 (요청을 통해 인증 토큰 검증) 1. Bearer Token 인증 동작 방식인증 요청 처리 흐름사용자: secured resource 요청 (Bearer Token 포함 ✅)BearerTokenAuthenticationFilterDefaultBearerTokenResolver: BearerTokenAuthenticationToken 반환 (request 기반)AuthenticationManagerResolver: AuthenticationManager 선택 (request 기반)AuthenticationManager: BearerTokenAuthenticationToken 검증인증 실패SecurityContextHolder 비움BearerTokenAut..

[Spring Authorization Server] 2. Core Model / Components

1. RegisteredClient인가 서버에서 등록된 클라이언트 정보를 나타내는 객체 표) 주요 속성더보기필드설명예id내부 시스템에서 고유하게 식별되는 UUID clientId외부 클라이언트가 사용하는 고유 식별자client-aclientSecret클라이언트 비밀번호. PasswordEncoder로 인코딩된 값 clientAuthenticationMethods클라이언트 인증 방식client_secret_basic private_key_jwt authorizationGrantTypes클라이언트가 사용할 수 있는 grant type 목록refresh_tokentoken_exchangeredirectUrisauthorization_code flow에서 사용할 redirect URI postLogoutRedi..

[JWT] 2-3. Practical Application: OAuth2 & OpenID

1. JWTs and OAuth2JWT를 Access Token으로 사용토큰 안에 권한 범위, 사용자 정보, 접근 권한 등을 직접 담을 수 있음토큰 유효기간을 지정할 수 있음디지털 서명이 되어있어 resource server에서 자체적으로 검증 가능 (매번 authorization server에 인증 요청을 하지 않아도 됨)많은 IdP들이 JWT 형식으로 Access Token을 발급함 JWT를 Refresh Token으로 사용Authorization Server에 보내서 새 Access Token을 발급받음 2. JWTs and OpenID ConnectOpenID Connect Flows and JWTs 3. Exampleauthorization server를 두어 특정 로그인 제공자에 종속되지 않고..

[Spring Authorization Server] 1. Configuration Model

1. Introducing Spring Authorization ServerSpring Authorization Server는 OAuth2.1과 OpenID Connection 1.0 명세의 구현을 제공하는 프레임워크입니다. 2. Use Cases경량화된 서버 구조: 상용 제품 대비 불필요한 기능 없이 핵심 기능만 포함되어 있음개발 편의성: Spring Security와 유사한 설정 구조 제공구성 및 제어: 고급 설정이 필요한 경우, 전체 인증 흐름 및 동작을 세밀하게 제어할 수 있음 3. Default ConfigurationOAuth2AuthorizationServerConfigurationOAuth2 Authorization Server의 최소 기본 구성 제공Authorization Server는 ..