카카오 로그인 406 (Not Acceptable) 오류 문의드립니다

앱ID: 922740

REST API로 카카오 로그인을 구현했습니다.
로컬 환경에서는 잘 작동되는데, 배포 환경(PC, 모바일웹)에서는 아래와 같은 오류가 발생해서 문의드립니다.

콘솔창 오류: POST https://kauth.kakao.com/oauth/token 406 (Not Acceptable)
네트워크-프리뷰 탭의 오류: {error: “not_acceptable”, error_code: “KOE001”, error_description: “Not Acceptable.”}

코드는 아래와 같이 작성하였습니다.

const getKakaoToken = async (authorizationCode: string) => {
    const response = await axios.post(
      "https://kauth.kakao.com/oauth/token",
      qs.stringify({
        grant_type: "authorization_code",
        client_id: import.meta.env.VITE_KAKAO_CLIENT_ID,
        redirect_uri: import.meta.env.DEV
          ? "http://127.0.0.1:5173/oauth/kakao"
          : import.meta.env.VITE_KAKAO_REDIRECT_URI,
        code: authorizationCode,
        client_secret: import.meta.env.VITE_KAKAO_CLIENT_SECRET,
      }),
      {
        headers: { "Content-Type": "application/x-www-form-urlencoded" },
      },
    );
    return response.data.access_token;
  };

안녕하세요.

KOE001 오류는 파라미터가 잘못 전달되면 발생합니다.
client_id 값이 어떻게 셋팅되셨을까요?

[ 내 애플리케이션 → 앱 키 → REST API ]에 있는 값을 복사해서 사용했습니다.

  • 58bc5a7467215b80ce3db7703cb7166f

client_id 값이 인가 코드 발급받을 때도 사용됐는데, 인가 코드는 잘 발급됩니다!
토큰을 받는 부분에서 에러가 발생하네요 :smiling_face_with_tear:

로컬 환경에서는 토큰 발급 과정도 잘 진행이 되어서, 배포 환경에서만 따로 안 되는 이유가 있을지 궁금합니다!

릴리즈 환경에서 동작하지 않는 대부분의 경우는 client_id 값이 환경 변수로 전달되지 않아 발생합니다.
import.meta.env.VITE_KAKAO_CLIENT_ID 으로 값이 셋팅되지 않았을것 같습니다.
확인 부탁드립니다.

해결했습니다! 다시 한 번 강조해주셔서 감사합니다:blush:

배포 환경에서의 ID 값을 삭제하고 다시 입력하니 정상 작동하네요 :slight_smile: