이상하다 로컬에서 로그인할때 유저 정보가 없으면 유저 회원가입을 유도하는 페이지로 이동을하는데
개발 서버에 배포된 건 왜 유저 회원가입을 유도하는 페이지로 이동하는게 아니라, 내 403 에러가 나오는거지?
출력도 해봤고, 구글 콘솔에 https://172.30.1.65.sslip.io:8443 이미 추가해서 백엔드에서는 이전이랑 바뀐게 없는데.....
오류 응답 하는 방법만 수정하고 추가한 것 같은데....
제대로 응답이 안됨.
심지어 UsersExceptionEnums 클래스를 추가해서
오류 발생하면 RootException 으로 throw 던지게하고,
전역 오류 처리하는 클래스 ExcpetionController 에서 CustoumException을 받아서 처리하는 부분은 주석처리해놔서 오류가 나야할텐데, 분명히 예전에 CustoumException으로 throw하도록 작성한 부분이 있는데 IDE에서 오류가 안남... 이유를 모르겠음...
구글에서 401 오류를 반환하지만 백엔드에서 신규로 추가한 예외 처리 이외에는 별도의 처리를 하지 않았음.
오류의 발생 원인 401 응답을 반환하는 오류 원인을 응답하지 않기 때문에 나의 모든 설정 정보나 값이 잘못됐는지 확인해야 함.
챗지피티가 만들었던 구글 외부로그인시 리디렉션 uri은 어떤 주소에서 발급 받은건지 확인하는 원천 주소를 입력해야함.
해결
아니야 다 아님.
제미나이도 등신임.
나도 멍청이, 이놈도 멍청이.
내가 구글 로그인 받을려고 사용한 주소를 입력해야하는건데
이놈은 내가 프론트가 로그인하고 내 백엔드의 어떤 api를 호출했는지에 따라 다르게 입력해야하단고 헛소리 하고있엇음.
백엔드 주소를 /api/auth/google/login, /api/auth/google/create 라고 입력햇는지에 따라
다른 주소를 입력해야한다고 설명했는데.
구글 로그인 후, 어떤 주소로 리디렉션 할지 적는 부분이 있는데,
여기에 적은 리디렉션 주소를 입력해줘야함.
따라서 나는 로컬 환경에서는
https://172.30.1.65.sslip.io:8443/auth/login 로 리디렉션 하도록 했으니,
백엔드에서도 리디렉션 uri를 https://172.30.1.65.sslip.io:8443/auth/login 로 적어서, 구글 인증서버로 인증 요청해야 맞는거임.

이걸 어쩌다 잘못 적은거지.
ci때문에 너무 오래 붙잡고 늘어졌고,
이거 해결하고 나니까 머릿속에서 그동안 진행햇던게 완전히 싹다 날라갔음.
결과
백엔드에서 엑세스 코드로 구글 인증서버를 통해 사용자 정보를 확인할 수 있었으며,
이 정보를 토대로 사용한 RootException과 UsersExceptionEnums를 통해,
사용자가 없더라도
응답코드 200, 비즈니스 로직 처리 결과 404 를 확인 할 수 있게 됐음.


개발서버 문제 증상 확인 및 해결
개발 서버에 배포된 백엔드에서
이번 로컬 환경에서 발생했던 현상과 동일한 현상이 발생 했고 파악을 못했었으나,
이번에 로컬 환경에서 오류 현상을 해결하면서, 개발서버의 배포판에도 반영해보니 정상 수정이 됐음.
백엔드와 DB 문제가 아닌 구글 인증서버에서 사용할 리디렉션 uri 설정 오류가 있었던 문제로 판단됨.


개발서버에 새로 반영해보니 로컬 환경과 동일한 응답이 반환되는것을 확인함.
예상되는 이후 진행시 문제들
완전히 코드만 짜다가
ci 문제 및 도커 설정 변경이 필요할때
다시 0부터 시작하면서 머리 싸매고 끙끙 앓는 내 미래 모습이 예상됨
'백엔드 > Spring' 카테고리의 다른 글
| [Java/Spring] devtools를 이용한 백엔드 재실행 문제 (0) | 2025.11.16 |
|---|---|
| [java/spring] 구글 oauth 인증 (0) | 2025.05.13 |
| [ JAVA/Spring ] yml의 변수 (0) | 2025.04.15 |
댓글