[SpringBoot] JWT 토큰 구현 및 활용
·
SpringBoot
로그인 기능을 개발하면서 사용자 인증의 핵심 요소인 JWT(JSON Web Token)를 본격적으로 도입하게 되었다. 기존의 세션 방식에서 벗어나 더욱 안전하고 확장성 있는 인증 메커니즘을 구현하고 싶었다. 이 글에서는 내가 실제 프로젝트에서 JWT를 어떻게 구현하고 활용했는지 상세히 공유하려 한다. JWT란?당사자 간에 정보를 JSON 객체로 안전하게 전송하기 위한 간결하고 자가수용적인 방식이다. 주로 인증과 정보 교환에 사용되며, 세 부분으로 구성된다.Header(헤더)토큰의 유형과 해시 알고리즘 정보를 포함한다.예: 사용된 해시 알고리즘(HMAC SHA256), 토큰 타입(JWT)Payload(페이로드)토큰에 담길 정보(클레임)를 포함한다.사용자 ID, 이름, 만료 시간 등 다양한 데이터 저장 가능..
[SpringBoot] Spring Boot + React를 활용한 OAuth 2.0 로그인 구현 (카카오 기준)
·
SpringBoot
프로젝트를 진행하면서 자연스럽게 소셜 로그인 구현을 맡게 되었다. 처음에는 프론트엔드에서는 소셜 로그인이 비교적 간단하다는 말을 들었지만, 직접 구현해 보니 생각보다 복잡한 과정이 많았다. 특히 OAuth 2.0을 기반으로 한 로그인 프로세스를 처음부터 이해하고, 카카오, 네이버, 구글 등 서로 다른 방식의 API를 다뤄야 한다는 점에서 혼란이 있었다. 처음에는 카카오 로그인이 가장 쉬운 것 같아 이를 먼저 구현하기로 했다. 하지만 카카오 개발자 문서를 읽어보면서도 프론트엔드와 백엔드의 역할이 명확하게 잡히지 않아, 다른 사람들의 블로그와 공식 문서를 참고하며 하나씩 개념을 정리해 나갔다.특히, 소셜 로그인은 인가 코드, 액세스 토큰, 사용자 정보 조회 등의 과정이 단계적으로 이루어지기 때문에 처음에는 ..