[11] Spring Security OAuth2: Sequence Diagram
·
Spring/Security
[10] Spring Security OAuth2: 인증 성공 핸들러(SuccessHandler)와 JWT 발급
·
Spring/Security
GitHub - HeoJunHyoung/bytemallContribute to HeoJunHyoung/bytemall development by creating an account on GitHub.github.com1. 들어가며 지난 포스팅에서는 CustomOAuth2UserService를 통해 소셜 로그인 후 사용자 정보를 DB에 저장하고, 인증 객체(AuthMember)를 생성하는 과정까지 구현했다. 하지만 이것만으로는 로그인이 완료된 것이 아니다. 우리 시스템은 Stateless한 JWT 인증 방식을 사용하므로, 소셜 인증이 성공한 직후 클라이언트(프론트엔드)에게 Access Token과 Refresh Token을 발급해주어야 한다. 이 역할을 담당하는 것이 바로 AuthenticationSuc..
[9] Spring Security OAuth2: 도메인 확장과 CustomOAuth2UserService 구현
·
Spring/Security
GitHub - HeoJunHyoung/bytemallContribute to HeoJunHyoung/bytemall development by creating an account on GitHub.github.com1. 들어가며지난 포스팅에서는 각기 다른 소셜 프로바이더(Google, Kakao)의 응답을 OAuth2UserInfo 인터페이스로 표준화하는 작업을 수행했다. 이번 단계에서는 이 표준화된 데이터를 바탕으로 실제 우리 서비스의 DB에 회원을 저장하고, Spring Security가 인식할 수 있는 인증 객체(Principal)를 생성하는 핵심 비즈니스 로직을 구현한다. 이 과정은 크게 세 부분으로 나뉜다.소셜 정보를 담을 수 있도록 Entity 확장일반 로그인과 소셜 로그인을 모두 아우르는 ..
[8] Spring Security OAuth2: 사용자 정보 추상화와 팩토리 패턴 구현
·
Spring/Security
GitHub - HeoJunHyoung/bytemallContribute to HeoJunHyoung/bytemall development by creating an account on GitHub.github.com1. 들어가며지난 포스팅에서는 OAuth2 클라이언트 의존성을 추가하고 프로바이더(Google, Kakao) 설정을 마쳤다. 이번 단계에서는 각 소셜 서비스마다 상이한 응답 데이터를 일관된 형태로 처리하기 위한 사용자 정보 추상화와 팩토리 패턴(Factory Pattern) 구현을 다룬다.2. 문제 상황: 파편화된 응답 데이터OAuth2 표준은 인증 흐름을 정의하지만, 사용자 정보(User Info)의 JSON 응답 구조까지 엄격하게 통일하지는 않았다.Google: sub (고유 ID), e..
[7] Spring Security OAuth2: 의존성 설정 및 소셜 프로바이더 준비
·
Spring/Security
GitHub - HeoJunHyoung/bytemallContribute to HeoJunHyoung/bytemall development by creating an account on GitHub.github.com1. 들어가며지난 포스팅까지 로컬(Local) 기반의 인증 시스템과 JWT 발급 과정을 완성했다. 이제 서비스 확장을 위해 OAuth 2.0 기반의 소셜 로그인(Google, Kakao 등)을 기존 시스템에 통합하는 과정을 시작한다. 이번 글에서는 그 첫 단계로 필수 라이브러리 추가와 프로바이더 설정을 다룬다.2. OAuth2 Client 의존성 추가Spring Security는 OAuth 2.0 인증을 간편하게 구현할 수 있도록 별도의 스타터 패키지를 제공한다. build.gradle 파일..
[6] Spring Security Local: Sequence Diagram
·
Spring/Security
GitHub - HeoJunHyoung/bytemallContribute to HeoJunHyoung/bytemall development by creating an account on GitHub.github.com 1. 로그인 플로우 2. 인증 필터 플로우 3. 재발급 플로우
[5] Spring Security Local: 로컬 로그인과 토큰 재발급
·
Spring/Security
GitHub - HeoJunHyoung/bytemallContribute to HeoJunHyoung/bytemall development by creating an account on GitHub.github.com 1. 들어가며이전 포스팅까지 우리는 JWT를 발급하는 Provider와 요청을 검증하는 Filter를 구현하여 인증 시스템의 기반을 다졌다. 이제 이 도구들을 활용하여 실제 사용자가 회원가입을 하고, 로그인을 통해 토큰을 발급받는 비즈니스 로직(Service, Controller)을 완성할 차례다.이번 포스팅의 핵심은 두 가지다.명시적 인증: AuthService에서 AuthenticationManager를 직접 호출하여 로그인을 처리한다.RTR (Refresh Token Rotation)..
[4] Spring Security Local: JWT 발급과 인증 필터 구현
·
Spring/Security
GitHub - HeoJunHyoung/bytemallContribute to HeoJunHyoung/bytemall development by creating an account on GitHub.github.com1. 들어가며이전 포스팅에서 우리는 회원을 정의(MemberEntity)하고 이를 시큐리티 표준(AuthMember)으로 변환하는 작업을 마쳤다. 이제 재료 손질은 끝났다. 본격적으로 "인증 시스템의 엔진"을 조립할 차례다.이번 포스팅의 목표는 두 가지다.JwtTokenProvider: 사용자의 정보를 암호화하여 JWT(Access/Refresh Token)를 생성하고 검증하는 '발급처'를 만든다.JwtAuthenticationFilter: 모든 요청의 앞단에서 쿠키를 검사해 유효한 토큰이 ..