[SNS] 레디스 세션 스토리지를 활용한 인증 인가

2025. 10. 1. 11:55·spring

레디스 세션 스토리지

SNS 인증/인가 설계 요약 (Redis 통합 세션 스토리지)

배경

  • 분산 서버(멀티 인스턴스) 환경에서 일관된 인증 상태를 유지하고,
  • 서버 주도권으로 즉시 무효화/권한 변경 반영,
  • 로그인 유지 경험(세션 만료 뒤에도 재접속 시 유지)을 제공하기 위해 설계.

핵심 결정

  • Redis를 통합 세션 스토리지로 채택하여 인증·인가의 단일 사실원장(Source of Truth)로 사용.
  • 세션 + 리프레시 토큰 조합: 세션은 로그인 상태 관리, 리프레시는 로그인 연장/재발급에 사용.

채택한 이유

  1. 분산 환경에서의 안전한 인증
    • 중앙(통합) 세션으로 모든 인스턴스가 동일 기준으로 인증 판단 → 스티키 세션 불필요, 확장 용이.
  2. 서버 주도권 확보(즉시 무효화/권한 변경 반영)
    • JWT 단독은 만료 전까지 토큰이 유효하기 쉬움.
    • 비밀번호 변경·계정잠금 시 Redis 세션을 통해 곧바로 차단 가능.
  3. 세션 만료 후 자동 연장
    • 리프레시 토큰으로 세션 재발급 → 사용자는 재로그인 부담 감소.
    • (정책적으로) 기기/브라우저별 로그인 유지 기간을 제어 가능.

동작 흐름

  1. 로그인 성공 → Redis 세션 생성(사용자, 권한, 만료정보 등).
  2. 세션 만료 시 → 리프레시 토큰으로 재발급(정책과 보안검증 통과 시).
  3. 비번 변경/권한 변경/로그아웃 → 해당 세션(및 패밀리) 즉시 무효화.

Sequence Diagram

시퀀스 다이어그램

 

'spring' 카테고리의 다른 글

[Spring] spring-core 직접 구현해보기 - (0)  (5) 2025.12.31
[Spring] 통합 테스트 속도 개선  (2) 2025.12.15
[spring] 1:1 실시간 채팅 구현  (2) 2025.09.17
[Spring] virtual thread vs webflux  (3) 2025.08.11
mock대신 spy를 사용한 이유  (2) 2025.08.06
'spring' 카테고리의 다른 글
  • [Spring] spring-core 직접 구현해보기 - (0)
  • [Spring] 통합 테스트 속도 개선
  • [spring] 1:1 실시간 채팅 구현
  • [Spring] virtual thread vs webflux
ksngh
ksngh
웹 백엔드 개발 블로그입니다. https://github.com/ksngh
  • ksngh
    featherdale
    ksngh
  • 전체
    오늘
    어제
    • 분류 전체보기 (66)
      • 데이터베이스 (10)
      • spring (11)
      • redis (7)
      • ELK (11)
      • 회고 (6)
      • 기타 (12)
        • java (2)
        • 디자인패턴 (2)
        • 영어 (1)
        • 자바스크립트 (1)
        • graphQL (2)
        • 블록체인 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    NORI
    NoriTokenizer
    Elasticsearch
    nori tokenizer
    연말 회고
    spring
    자료구조
    Spy
    gof
    단위테스트
    graphql
    단위 테스트
    Mock
    대용량데이터베이스
    elastic search in action
    Elastic Search
    엘라스틱서치
    core
    데이터베이스
    Redis
    Spring Core
    인기검색어 구현
    PostgreSQL
    디자인패턴
    엘라스틱 서치 인 액션
    조인의 종류
    레디스
    회고
    대용량 데이터 베이스
    엘라스틱 서치
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
ksngh
[SNS] 레디스 세션 스토리지를 활용한 인증 인가
상단으로

티스토리툴바