오류 상황
400 오류: invalid_request는 클라이언트가 서버에 잘못된 요청을 보냈을 때 발생하는 오류로, 주로 필요한 매개변수가 누락되거나 잘못된 형식일 때 나타납니다. 또한, OAuth 인증 과정에서 허용되지 않은 Redirect URI로 요청을 보낼 때도 이 오류가 발생할 수 있습니다. 즉, 서버가 요청을 이해하거나 처리할 수 없는 상황에서 반환됩니다.
기존에는 로컬(http://localhost:8080/oauth2/authorization/google)을 설정해놔서 잘 되었을 수 있지만, 배포를 하고 나서,
바뀐 URI로 구글 로그인을 하려고 시도했을 때 위와 같은 오류가 발생할 수 있습니다.
문제 원인
이 오류는 구글에서 제공하는 OAuth2 인증 과정에서 Redirect URI가 잘못되었거나 누락되었을 때 발생합니다. 구글 API는 사용자가 인증을 마친 후 리디렉션할 URI를 미리 지정해야 하며, 설정된 URI와 실제 요청된 URI가 일치하지 않으면 보안상의 이유로 인증이 차단됩니다.
해결 방법
이 문제를 해결하기 위해서는 구글 클라우드 플랫폼(Google Cloud Platform, GCP) 콘솔에 접속하여, 프로젝트의 OAuth 2.0 설정에서 올바른 Redirect URI를 추가해야 합니다. 다음은 그 과정에 대한 단계별 설명입니다.
1. Google Cloud Platform(GCP) 콘솔에 접속
구글 로그인을 통해 프로젝트 대시보드로 이동합니다.
2. 프로젝트 선택
구글 로그인 API가 연결된 프로젝트를 선택합니다. 만약 프로젝트를 처음 생성했다면, 새 프로젝트를 생성한 후 OAuth 인증을 설정할 수 있습니다.
3. API 및 서비스 > 사용자 인증 정보로 이동
4. OAuth 클라이언트 ID 수정
리스트에서 수정할 OAuth 2.0 클라이언트 ID를 선택하여 수정 모드로 들어갑니다.
5. 올바른 Redirect URI 추가
이곳에 여러분의 서비스에서 사용 중인 로그인 처리를 위한 정확한 리디렉션 URL을 추가해야 합니다.
구글 로그인 오류 페이지에서 세부 정보를 확인해보면 추가해야할 uri를 확인할 수 있는데요.
해당 uri를 추가해주면 됩니다.
보통 다음과 같은 URI를 추가할 것입니다.
https://<도메인주소>/auth/google/callback
올바른 리디렉션 URI를 추가한 후 변경 사항을 저장합니다.
이제 변경한 설정이 정상적으로 적용되었는지 테스트해 보세요. 다시 구글 소셜 로그인을 시도할 때 더 이상 "이 앱의 요청이 잘못되었습니다" 오류 메시지가 나타나지 않고 정상적으로 인증이 진행될 것입니다.
결론
"이 앱의 요청이 잘못되었습니다"라는 오류는 흔히 발생하지만, 그 해결 방법은 간단합니다. 구글 GCP 콘솔에서 올바른 Redirect URI를 추가하는 것만으로도 문제를 해결할 수 있습니다. 이 가이드를 통해 빠르고 쉽게 구글 소셜 로그인 기능을 다시 정상적으로 사용할 수 있길 바랍니다!