2025/02 4

[Spring] Spring Security 개념과 동작

Spring Security란?Spring 기반의 애플리케이션의 보안(인증, 인가 등)을 담당하도록 도와주는 스프링의 하위 프레임워크 인증과 인가1. 인증 (Authentication)인증은 사용자의 신원을 입증하는 과정이다. (본인이 맞는지 확인한다.) 2. 인가 (Authorization)인가는 사이트의 요청 자원에 접근할 수 있는 권한을 가지고 있는지 확인하는 과정이다. Spring Security의 동작 과정- 폼 로그인 방식 + Spring Security1. 사용자가 form을 통해 로그인 정보(ID/PW)를 담은 요청을 보낸다. 2. AuthenticationFilter에서 요청을 받아 수신된 요청에서 사용자 이름과 비밀번호를 추출한다. 3. 추출된 사용자의 자격 증명을 기반으로 Userna..

Spring/JWT 2025.02.28

[Spring] OAuth 2.0 로그인 Refresh Token 도입기 (1)

전 글에 기초하여 OAuth 2.0의 로그인 구현을 완료했다.하지만 Access Token만으로 로그인을 구현했기 때문에 Refresh Token을 도입해보려고한다.  Refresh Token 이란? Access Token을 재발급할 때 사용하는 토큰이다. 기본적으로 Access Token은 API 통신을 할 때 사용하는 키이기 때문에 이를 탈취당한다면 문제가 된다. 따라서 Access Token의 만료기간을 짧게 두어, 주기적으로 Refresh Token을 통해 Access Token을 재발급해주고 피해를 최소화 해주는 것이다. Refresh Token의 만료기간은 보통 Access Token보다 길다.현재 프로젝트의 구현 - OAuth 로그인이 성공적으로 완료된다면, 쿠키를 통해 Access Toke..

Spring/OAuth 2.0 2025.02.27

[Spring] OAuth2 클라이언트 JWT 로그인 기본 세팅

오늘은 로그인 구현을 위한 로그인 설계 방식과 세팅을 해보려고 한다. 해당 로그인 구현을 위해서는 세가지 방식이 있다.1. 프론트에 모든 책임을 준다.2. 프론트 + 백엔드에서 책임을 나눠가진다.3. 백엔드에 모든 책임을 준다.나는 백엔드에 모든 책임을 주어 로그인을 구현하는 방식으로 진행해보겠다. 동작 설계1. 하이퍼링크를 통해 로그인을 진행2. 외부 로그인 페이지 요청3. 외부 로그인 페이지 로그인 진행4. Authorization Server에서 Authorization code 발급5. Authorization code로 Access token 요청6. 발급받은 Access token을 통해 Resource Server에 유저 정보 요청 후 획득7. JWT 발급 (쿠키 방식 발급) 로그인 후에 A..

Spring/OAuth 2.0 2025.02.26

[Spring] OAuth 2.0 개념과 동작 방식

이전 프로젝트에서 Spring Security와 JWT를 활용한 로그인 기능을 구현하면서 백엔드 유저 관리에 흥미를 느꼈다. 그 당시 OAuth2을 통한 소셜 로그인도 꼭 한번 구현해보고 싶었는데, 이번에 직접 적용해보면서 이를 정리해보려고 한다. 오늘은 OAuth의 개념에 대해 말해보려고 한다.  1. OAuth의 개념OAuth는 인증을 위한 개방형 표준 프로토콜로, 사용자가 비밀번호를 직접 제공하지 않고도 제3자 클라이언트(우리의 서비스)에 자신의 정보에 대한 접근 권한을 안전하게 위임할 수 있도록 한다. 이를 통해 많은 서비스는 외부 소셜 계정(구글, 페이스북, 카카오 등)을 활용한 간편 회원 가입 및 로그인 기능을 제공한다.  2. OAuth 2.0의 구성 요소 - Resource Owner일반적..

Spring/OAuth 2.0 2025.02.25