코더
(최종 프로젝트)Oauth2.0 정리 본문
배경 : 최종 프로젝트에서 한번 더 api 요청 흐름이나 정리가 필요하다 느껴 작성하게 되었다.
발생 오류 :

// 해당하는 로그인 요청은 잘 받아왔는데 계속 다른곳으로 리다이렉팅 하며 url이 계속 바뀌는 버그가 일어났다..
해결 :
생각을 해보니 Oauth2.0 검증 완료된 코드 마지막에 / 로 리다이렉팅을 시켜준 후 아무 조치도 취하지 않았다. 아래 코드를 간단하게 추가하니 오류가 해결되었다.
@RestController
public class TestStaticController {
@GetMapping("/")
public String home() {
return "로그인 성공";
}
}
흐름도 정리 :
[OAuth 2.0 인증]
네이버 로그인
↓
Authorization Code
↓
Access Token
↓
네이버 사용자 정보 조회
↓
CustomOAuth2UserService
↓
DB 회원 조회/생성
↓
OAuth2 인증 성공
↓
onAuthenticationSuccess()
여기까지가 네이버 OAuth 2.0의 역할
[우리 서비스 JWT 인증]
브라우저
↓
Cookie: accessToken=우리 JWT
↓
JwtAuthenticationFilter
↓
Cookie에서 JWT 추출
↓
JWT 검증
↓
userId / role 추출
↓
Authentication 생성
↓
SecurityContext 저장
즉,
[ 네이버 ]
│
▼
OAuth 2.0 로그인
│
▼
CustomOAuth2UserService
│
사용자 조회/가입
│
▼
OAuth2SuccessHandler
│
우리 JWT 발급
│
accessToken 쿠키
│
▼
redirect("/")
│
※ 새로운 HTTP 요청
│
▼
┌─────────────────────┐
│ Spring Security │
│ Filter Chain │
└─────────────────────┘
│
▼
JwtAuthenticationFilter
│
쿠키에서 JWT 추출
│
JWT 검증
│
userId / role 추출
│
▼
SecurityContext
│
▼
SecurityConfig 인가
│
┌─────────┴─────────┐
▼ ▼
권한 있음 권한 없음
│ │
Controller 403/인증실패
// 이렇게 흐름도가 그려진다.
결과 :



// 로그인이 정상적으로 된 모습이다.
'최종 프로젝트' 카테고리의 다른 글
| 깃허브 관리 / 발생한 문제점 (0) | 2026.08.14 |
|---|---|
| (최종 프로젝트) 구글 recaptcha (0) | 2026.08.13 |