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 |