Spring/Spring Boot 3

[Spring Boot] Enum을 활용해 전역에서 Runtime Exception Handling

들어가며예전에 커뮤니티 사이트를 제작하는 프로젝트를 할 때 굉장히 초보였던터라 예외에 대한 처리가 하나도 없었습니다. 그저 기능들 구현하는데 쩔쩔 매느라 당장 눈에 보이는 예외만 처리하고 넘어갔습니다. 그래서 이번 쇼핑몰 프로젝트에선 비즈니스 로직에서 발생할 수 있는 예외들 위주로 전역에서 관리해봤습니다.  Runtime Exception(=Unchecked Exception)우선 Runtime Exception에 대해 간단한 설명이 필요할 것 같습니다. Runtime Exception은 말 그대로 프로그램 실행 후 발생할 수 있는 예외로 개발자가 예측할 수 없는 오류를 일컫는 말입니다. Exception의 하위 클래스인 Runtime Exception은 컴파일러가 예측할 수 없기 때문에 Unchecke..

Spring/Spring Boot 2024.11.04

[Spring Boot] Google OAuth 2.0과 JWT를 통한 회원 관리 방식 이해하기

들어가며반려동물 쇼핑몰 프로젝트에서 Google OAuth 2.0과 JWT를 회원 관리 방식으로 채택했습니다. 이미 다른 블로그에 코드에 대한 Reference는 많이 존재하고 있지만 사용자 인증부터 JWT 발급 및 갱신까지의 흐름을 자세하게 설명하는 곳이 없어서 자료조사하고 이해하는 데 시간이 많이 걸렸습니다. 그래서 이번 프로젝트에서 회원 관리 기능을 구현하며 사용한 사용자 인증 방식의 흐름을 자세하게 설명하는 글을 쓰려고 합니다. 사용자 인증 방식은 개발자 마음 가는대로 얼마든지 다양하게 구현할 수 있기 때문에 그 중 하나의 흐름을 설명하려고 합니다. 우선 웹 애플리케이션이고 Google OAuth 2.0으로 제 3자인 구글에게 인증을 위임하고 인증에 성공한 사용자에 대해서 JWT 형식의 Acces..

Spring/Spring Boot 2024.10.29

[Spring Boot] Google OAuth 2.0 API 요청 시 invalid grant와 malformed token 응답 해결하기

들어가며반려동물의 쇼핑몰 제작 프로젝트에서 구글 소셜 로그인을 맡았습니다. Google OAuth 2.0로 로그인해서 인가 코드를 받아 사용자 인증을 하고, JWT를 생성해서 회원을 관리하려 했습니다. Spring Boot에서 api 구현을 끝내고 포스트맨으로 테스트를 하려니까 자꾸만 인가 코드가 유효하지 않다고 나오는 invalid grant와 malformed token 에러 메세지.. 인가 코드로 Google OAuth 2.0 API로 액세스 토큰을 요청해야 하는데 이 에러 해결하느라 하루를 다 써버렸습니다. 이번 글은 invalid grant와 malformed token에 대한 트러블 슈팅입니다. 저처럼 인가 코드가 유효하지 않다는 응답을 받는 분들에게 이 글이 많은 도움이 되었으면 좋겠습니다...

Spring/Spring Boot 2024.10.26