카카오 로그인 문의

App ID : 961122

  • 코드 진행 순서 요약
  1. 카카오 로그인
  2. access token 획득
  3. access token 으로 정보 획득
    을 하고 있습니다.
  • 요청 url
    1번. https://kauth.kakao.com/oauth/authorize?client_id={clientId)&redirect_uri=http://localhost:3000&response_type=code
    위 url을 window.location.href 에 삽입 후 로그인
    2번. https://kauth.kakao.com/oauth/token?grant_type=${grantType}&client_id=${REST_API_KEY}&redirect_uri=${REDIRECT_URI}&code=${code}
    3번. https://kapi.kakao.com/v2/user/me

  • 원하는 결과 값
    2번 요청 url의 REDIRECT_URI 값이 어떤 것이던 상관 없이 정상 동작을 해야한다.

  • 문제점
    2번 요청 url의 REDIRECT_URI 값이

http://localhost:3000 의 경우 정상 동작합니다.
그러나
http://localhost:3000/write 의 경우 에러가 발생합니다.

error: invalid_grant
error_code: KOE320
error_description: authorization code not found for code ~~~

왜 REDIRECT_URI 값에 따라 성공 유무가 달라지는 지 모르겠습니다.

안녕하세요.

KOE320 오류는 접근토큰 발급 시, 유효하지 않은 인가코드를 사용하는 경우 발생합니다.
인가코드는 성공 여부와 관계 없이 1번만 사용 가능합니다.

그리고, 인가요청와 접근토큰 발급 시, 전달하는 redirect_uri 파라미터는 동일해야만 합니다.
이는 Oauth2 스팩에 따른 결과이며 다른 파라미터를 전달하는 경우 KOE303 오류를 전달합니다.

그 말씀은
1번, 2번 요청 시 redirect url 이 동일해야한다
라고 이해해도 될까요?

네 맞습니다.