로컬에서는 카카오 로그인이 되지만 배포된 도메인으로 접속시 안됩니다

문의 시, 사용하시는 개발환경과 디벨로퍼스 앱ID를 알려주세요.


  • 앱ID : 1023037
  • 개발환경: macOS, IntelliJ, Java/Spring

안녕하세요. 현재 카카오 로그인을 로컬(로컬은 Http)에서 테스트 해봤을 땐 성공적으로 되지만, 배포된 도메인(https)으로 테스트 해보니 아예 403 에러가 뜨면서 넘어가지 않습니다. 로컬에서 배포된 도메인으로 바꿀 때 한 것은 KakaoService클래스의 getToken 메소드를 수정한 것 밖에 없습니다.(주석은 수정 전 코드 입니다.)

MultiValueMap<String, String> body = new LinkedMultiValueMap<>();
        body.add("grant_type", "authorization_code");
        body.add("client_id", kakaoApiKey);
//        body.add("redirect_uri", "http://localhost:8080/api/users/kakao/callback");
        body.add("redirect_uri", "https://hhive.shop/api/users/kakao/callback");
        body.add("code", code);

어떤 것이 문제일까요?

403에러의 getErrorStream 확인 하시면 정확한 원인 확인 할 수 있습니다.

getErrorStream에 아래 내용 전달 되었습니다.

{"error":"invalid_grant","error_description":"Redirect URI mismatch.","error_code":"KOE303"}

인가코드요청에 사용한 Redirect URI 파라메터와 액세스 토큰 발급요청에 사용한 Redirect URI가 다릅니다.

인가코드: https://hhive.shop/api/users/kakao/callback
접근토큰: http://localhost:8080/api/users/kakao/callback

코드가 잘못된곳이 없다면, 배포가 잘못되었을 것 같아요.

Jan 23, 2024 @ 16:20:38.15 조금전 액세스토큰 발급요청에도 리다이렉트 URI가 http://localhost:8080/api/users/kakao/callback 로 들어왔습니다.

다른 기능은 다 배포된 도메인으로 구현이 완료된 걸 확인했습니다. 제 카카오서비스 코드에서

body.add("redirect_uri", "https://hhive.shop/api/users/kakao/callback");

라고 되어 있으면 https://hhive.shop/api/users/kakao/callback로 들어가야하는게 맞지 않나요?

로깅 하셔서 확인 해보시면 좋을 것같습니다.

넵. 확인해보겠습니다. 답변 감사합니다. !! :grinning: