[Kotlin + Spring] MSA 환경에서 토큰 기반 인증 구현하기 (RTR, JWT vs UUID, Redis)
·
Java & Kotlin/Spring
🧐 MSA 환경에서 로그인 시스템은 어떻게 구현할까?마이크로서비스 아키텍처(MSA)는 서비스 간 독립성을 유지하면서도 유기적으로 연결된 분산 시스템을 구축하는 방식이다. 하지만 여러 개의 독립적인 서비스가 존재하는 MSA 환경에서는 "사용자 인증을 어떻게 관리할 것인가?" 하는 문제가 발생한다.기존 모놀리식 아키텍처(Monolithic Architecture)에서는 단일 서버가 세션을 관리하면 되었지만, MSA 환경에서는 인증에 대해 어떻게 처리해야 할지에 대한 문제가 생긴다. 각 서비스가 개별적으로 인증을 처리해야 할까? 그렇다면 서비스마다 로그인 로직을 구현해야 할까? 아니면 중앙 집중식 인증 시스템을 구축해야 할까? 우리가 기존에 쓰는 로그인 구현 방식은 다음과 같이 크게 세 가지로 분류할 수 있..
[스프링 부트 3] OAuth2 - 3 (OAuth2 뷰 구성하기, 글에 글쓴이 추가)
·
Java & Kotlin/Spring
[스프링 부트 3] OAuth2 - 1 (OAuth란?, 권한 부여 코드 타입 승인의 흐름, 쿠키란?, 토큰 발급받기)1. OAuth1-1. OAuth란?OAuth : 제3의 서비스에 계정 관리를 맡기는 방식이다. 흔히 볼 수 있는 네이버로 로그인하기, 구글로 로그인하기 같은 방법이 있다. 리소스 오너자신의 정보를 사용하도록 인증jhzlo.tistory.com [스프링 부트 3] OAuth2 - 2 (스프링 시큐리티로 OAuth2 서비스 구현, 로직 세팅)[스프링 부트 3] OAuth2 - 1 (OAuth란?, 권한 부여 코드 타입 승인의 흐름, 쿠키란?, 토큰 발급받기)1. OAuth1-1. OAuth란?OAuth : 제3의 서비스에 계정 관리를 맡기는 방식이다. 흔히 볼 수 있는 네이버로 로그jhzl..
[스프링 부트 3] OAuth2 - 2 (스프링 시큐리티로 OAuth2 서비스 구현, 로직 세팅)
·
Java & Kotlin/Spring
[스프링 부트 3] OAuth2 - 1 (OAuth란?, 권한 부여 코드 타입 승인의 흐름, 쿠키란?, 토큰 발급받기)1. OAuth1-1. OAuth란?OAuth : 제3의 서비스에 계정 관리를 맡기는 방식이다. 흔히 볼 수 있는 네이버로 로그인하기, 구글로 로그인하기 같은 방법이 있다. 리소스 오너자신의 정보를 사용하도록 인증jhzlo.tistory.com 1. 스프링 시큐리티로 OAuth2를 구현하고 적용하기 [쿠키 관리 클래스 구현]↓[OAuth2에서 제공받은 인증 객체로 사용자 정보를 가져오는 역할은 하는 서비스 구현] ↓ [OAuth2 설정 파일 구현]1-1. 의존성 추가하기dependencies { --- 생략 --- // OAuth2를 사용하기 위한 스타터 추가 implem..
[스프링 부트 3] OAuth2 - 1 (OAuth란?, 권한 부여 코드 타입 승인의 흐름, 쿠키란?, 토큰 발급받기)
·
Java & Kotlin/Spring
1. OAuth1-1. OAuth란?OAuth : 제3의 서비스에 계정 관리를 맡기는 방식이다. 흔히 볼 수 있는 네이버로 로그인하기, 구글로 로그인하기 같은 방법이 있다. 리소스 오너자신의 정보를 사용하도록 인증 서버에 허가하는 주체이다.서비스를 이용하는 사용자가 리소스 오너에 해당된다.리소스 서버리소스 오너의 정보를 가지며, 오너의 정보를 보호하는 주체를 의미한다.네이버, 구글, 페이스북이 리소스 서버에 해당한다.인증 서버클라이언트에게 리소스 오너의 정보에 접근할 수 있는 토큰을 발급하는 역할을 하는 애플리케이션을 의미한다클라이언트 애플리케이션인증 서버에 인증을 받고 리소스 오너의 리소스를 사용하는 주체를 의미한다.지금 만들고 있는 서비스가 이에 해당된다. OAuth를 사용하면 인증 서버에서 발급받은..
[스프링 부트 3] JWT - 3 (토큰 필터, 리프레시 토큰 API 구현하기, 로그인/로그아웃)
·
Java & Kotlin/Spring
[스프링 부트 3] JWT - 1 (토큰 기반 인증, JWT, 액세스 토큰, 리프레시 토큰)1. 토큰 기반 인증이란?사용자가 서버에 접근할 때 이 사용자가 인증된 사용자인지 확인하는 방법은 다양하다. 대표적인 사용자 인증 확인 방법으로 서버(세션) 기반 인증과 토큰 기반 인증이jhzlo.tistory.com  [스프링 부트 3] JWT - 2 (JWT 서비스 구현, 리프레시 토큰, 토큰 필터)[스프링 부트 3] JWT - 1 (토큰 기반 인증, JWT, 액세스 토큰, 리프레시 토큰)1. 토큰 기반 인증이란?사용자가 서버에 접근할 때 이 사용자가 인증된 사용자인지 확인하는 방법은 다양하다. 대표적인jhzlo.tistory.com 1. 리프레시 토큰 서비스 구현1-1. 리프레시 토큰 도메인 구현하기 리프레시..
[스프링 부트 3] JWT - 2 (JWT 서비스, 토큰 생성자 구현, 로그인/로그아웃)
·
Java & Kotlin/Spring
[스프링 부트 3] JWT - 1 (토큰 기반 인증, JWT, 액세스 토큰, 리프레시 토큰)1. 토큰 기반 인증이란?사용자가 서버에 접근할 때 이 사용자가 인증된 사용자인지 확인하는 방법은 다양하다. 대표적인 사용자 인증 확인 방법으로 서버(세션) 기반 인증과 토큰 기반 인증이jhzlo.tistory.com1. JWT 서비스 구현하기실제로 JWT를 생성하고, 검증하는 서비스를 구현할 것이다.○ 의존성 추가↓○  토큰 제공자를 추가↓○  리프레시 토큰 도메인 구현↓○  토큰 필터 구현1-1. 의존성 추가하기build.gradledependencies { --- 생략 --- testAnnotationProcessor 'org.projectlombok:lombok' testImpleme..
J_hzlo
'Java & Kotlin/Spring' 카테고리의 글 목록