개발환경: java spring + next js
앱 ID: 1042589
안녕하세요, 카카오 로그인 관련 문의 드립니다.
프론트 연동에서 문제가 있어 질문 드립니다.
백엔드 측에서 액세스 토큰 발급까지 잘되는 지를 확인해보기 위해 테스트용 index html을 생성하고 인가 코드 발급, 인가 코드 전달하여 액세스 토큰 발급 API 까지 모두 성공적으로 진행되는 것을 확인했습니다.
하지만 이후 프론트 측에서 페이지 생성 후 리다이렉트 하고 인가 코드 발급 후 백엔드의 액세스 토큰 발급 API로 넘기면 카카오 측으로 액세스 토큰을 요청하는 부분에서 400 오류가 발생합니다. (프론트에서 카카오 인가 코드 발급 후 백으로 인가 코드를 넘기면 액세스 토큰을 발급해서 보내주는 과정으로 구현했습니다.)
모두 같은 리다이렉트 URI, key를 사용하고 있는데 문제가 무엇인지 파악하기 어려워 문의드립니다.
<백엔드 측에서 자체 테스트해보았을 때>
https://kauth.kakao.com/oauth/token?grant_type=authorization_code&client_id=***&redirect_uri=http://***:8080/api/v1/auth/kakao/login&code=***
responseCode : 200
response body : {"id":***,"connected_at":"2024-03-03T05:01:03Z","properties":{"nickname":"***"},"kakao_account":{"profile_nickname_needs_agreement":false,"profile":{"nickname":"***"},"has_email":true,"email_needs_agreement":false,"is_email_valid":true,"is_email_verified":true,"email":"***"}}
result typejava.lang.String
{nickname=***}
https://kauth.kakao.com/oauth/token?grant_type=authorization_code&client_id=***&redirect_uri=http://***:8080/api/v1/auth/kakao/login&code=***
<프론트 측에서 연동했을 때>
2024-03-08T03:20:48.482Z ERROR 1 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.springframework.web.reactive.function.client.WebClientResponseException$BadRequest: 400 Bad Request from POST https://kauth.kakao.com/oauth/token?grant_type=authorization_code&client_id=***&redirect_uri=http://***:8080/api/v1/auth/kakao/login&code=*** with root cause
org.springframework.web.reactive.function.client.WebClientResponseException$BadRequest: 400 Bad Request from POST https://kauth.kakao.com/oauth/token?grant_type=authorization_code&client_id=***&redirect_uri=http://***:8080/api/v1/auth/kakao/login&code=***
at org.springframework.web.reactive.function.client.WebClientResponseException.create(WebClientResponseException.java:307) ~[spring-webflux-6.1.2.jar!/:6.1.2]```