실습 목표
OAuth2.0 클라이언트와 스프링 시큐리티 6 프레임워크를 활용하여 신뢰할 수 있는 외부 사이트(구글, 네이버)로부터 인증을 받고 전달 받은 유저 데이터를 활용하여 JWT를 발급하고 인가를 진행하는 방법.
인증 받은 데이터는 MySQL 데이터베이스를 활용하여 저장하고 관리한다.
구현
API 서버 형태로 구현.
- 인증 : 네이버/구글 소셜 로그인 (코드 방식) 후 JWT 발급
- 인가 : JWT를 통한 경로별 접근 권한
- 인증 정보 DB 저장 후 추가 정보 기입
버전 및 의존성
- Spring Boot 3.4.x
- Spring Security 6.2.2
- OAuth2 Client
- Lombok
- Spring Data JPA - MariaDB
- JWT 0.12.3
- Gradle - Groovy
- IntelliJ Ultimate
기타
- OAuth2.0 코드 방식 인증을 활용한다.
- 인증 후 발급된 정보로 JWT를 발급한다.
- JWT의 경우 단일 토큰으로 진행한다.
- 소셜 로그인을 통해 인증 받은 데이터는 우리의 서비스 데이터베이스에 저장을 한 뒤 관리를 진행해야 한다. 관리를 하지 않고 인증만 받고 사용할 수 있지만 추가적인 사용자 정보나 어떠한 사용자가 우리의 서비스를 활용하는지 확인하기 위해서는 무조건 관리하는 것이 좋다.
'Spring Security > OAuth2' 카테고리의 다른 글
스프링 OAuth2 클라이언트 세션 15 : OAuth2AuthorizedClientService (0) | 2025.01.10 |
---|---|
스프링 OAuth2 클라이언트 세션 14 : OAuth2LoginAuthenticationFilter (0) | 2025.01.09 |
스프링 OAuth2 클라이언트 세션 13 : OAuth2AuthorizationRequestRedirectFilter (0) | 2025.01.09 |
스프링 OAuth2 클라이언트 세션 12 : ClientRegistration (0) | 2025.01.09 |
스프링 OAuth2 클라이언트 세션 11 : 커스텀 로그인 페이지 (0) | 2025.01.09 |