기존 JWT 전반적인 변경 (1)


<aside> 📌 중요한 내용은 지금 문장처럼 콜아웃 되어 있습니다.

</aside>

자료 조사

Spring Boot Reference Documentation

Kakao Developers

먼저 OAuth 2 기술이 어떤 것인지 알아보고 대중적인 플랫폼들을 서치하였다. 대한민국에서 가장 접근성이 좋은 플랫폼은 카카오라고 생각했다. 우리 서비스의 주 고객은 대한민국 국민이고 성별과 연령을 모두 아울러 사용자가 가장 많을 것이기 때문이다. 카카오 개발 페이지에서 공식적으로 카카오 로그인이라는 이름으로 API 에 대한 설명도 잘 되어있었다. 따라서 카카오를 사용하기로 하였다.

OpenID Connect 를 통해 카카오에서 인증을 받고 기본적인 정보를 얻어와 우리 서버에 저장한다.

<참고> ID 토큰 유효성 검증하기 부분에서 유의할 문구

공개키는 일정 기간 캐싱(Caching)하여 사용할 것을 권장하며, 지나치게 빈번한 요청 시 요청이 차단될 수 있으므로 유의

OpenID Connect | OpenID

OAuth2.0 프로토콜 위에 있는 simple identity layer 이다. 클라이언트는 써드파티 인증서버의 인증을 통해 최종 사용자의 신원을 확인할 수 있을 뿐만 아니라 REST 방식으로 최종 사용자의 기본적인 정보도 얻을 수 있다.

카카오 로그인에서 OpenID Connect 를 이용하지 않을 경우 우리 서버에서 로그인 세션을 사용자에게 제공해야 하지만, OIDC 를 사용하면 JWT를 제공해주므로 이 토큰을 바로 사용하면 된다. 아래는 공식문서의 관련내용.