본문 바로가기

TIL

TIL) 소셜로그인

1. 스프링 시큐리티를 이용한 소셜로그인

 스프링 시큐리티를 이용하여 구글 / 네이버 등의 플렛폼 계정을 이용하는 소셜로그인을 할 수 있습니다. 이때, 각 플렛폼에서 기본적인 설정을 한 후 client_id와 client_serect을 발급 받아야합니다. 발급 받은 후 token을 발급하여 access 토큰과 refresh 토큰을 생성해 줄 수 있습니다.

 

2. Access Token 및 Refresh Token 관리

발생 상황

OAuth2 인증 후 Access Token과 Refresh Token을 발급했으나:

  • 토큰 발급 시 발급자 정보(issuer)가 누락되어 인증 오류 발생.
  • 클라이언트가 Refresh Token을 사용해 Access Token 갱신 요청 시 오류.

원인

  • JWT 생성 시 필수 클레임(issuer, subject, audience) 누락.
  • Refresh Token 저장 및 갱신 로직의 부정확성.

해결 방법

  • JWT 발급 시 발급자 정보 ( issuer )를 추가합니다.
  • Refresh Token 갱신 로직을 추가하여 Refresh Token 을 통해 Access Token을 갱신해 줍니다.

3. 클라이언트와 서버 간 쿠키 연동

발생 상황

Refresh Token을 쿠키로 저장했으나 클라이언트 측에서 HTTP-only 쿠키를 확인하거나 전송하지 못함.

 

원인

  • 쿠키 설정 문제로 브라우저가 요청 시 쿠키를 전송하지 않음.
  • 클라이언트에서 withCredentials 설정 누락.

해결 방법

  • 쿠키 재설정
  • 클라이언트에서 Axios 설정

 

'TIL' 카테고리의 다른 글

TIL) jpa 프로젝트 트러블 슈팅  (1) 2024.12.17
TIL) Self Join  (2) 2024.12.06
TIL) 세션에서 로그인 필터와 권한 필터  (0) 2024.12.04
TIL) 테스트 코드 작성  (1) 2024.12.03
TIL) 디자인 패턴  (1) 2024.12.02