카카오 로그인 기능 구현 에러 (KOE320)

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


안녕하세요! 카카오 로그인 기능 구현 도중 발생한 KOE320에러 관련 문의 드립니다.

현재 저희는 안드로이드와 spring 서버를 연동하여 카카오 로그인 기능을 구현하고 있습니다.

안드로이드에서 retrofit2를 이용하여 spring 서버에게 인가 코드를 넘겨주는 것까지는 성공하였으나, spring 서버에서 카카오 서버로 인가 코드를 이용한 엑세스 토큰 발급 통신 과정에서 다음과 같은 에러가 발생하였기에 도움을 구하고자 합니다.


해당 사진을 보시는 것처럼, 안드로이드에서 spring 서버로 인가 코드를 넘겨주었을 때 인가 코드는 서버로 넘어가는 것으로 확인되나,
spring 서버측에서
"{“error”:“invalid_grant”,“error_description”:“authorization code not found for code=J_tFmg9NUALMLoI8fp0qXd09WA0E8iHKVai5WTceCinI2QAAAYoyoCyJ”,“error_code”:“KOE320”}"와 같은 로그가 찍히는 것으로 확인되었습니다.

서버측의 코드와 안드로이드 측의 코드 상에서 확인한 결과, Redirect_URI도 문제 없이 설정하였으며. 카카오 서버측으로 인가 코드는 한 번 요청되는 것으로 판단하였습니다.

하지만 이와 같은 오류가 발생하여 부득이하게 인가 코드가 두 번 이상 요청되는 것인지, 혹 다른 문제가 있는지 도움을 청하고자 작성하게 되었습니다.

앱 ID는 953729입니다. 감사합니다.

안녕하세요!
KOE320 에러는 액세스 토큰 발급 시, 잘못된 인가코드를 사용했거나 이미 사용한 인가코드를 사용한 경우 발생합니다.

953729 앱에서는 아래 인가코드를 발급한 이력이 없습니다.

J_tFmg9NUALMLoI8fp0qXd09WA0E8iHKVai5WTceCinI2QAAAYoyoCyJ

리다이렉트 URI로 전달받은 인가코드와 일치하는지 확인해주세요.

카카오 로그인 기능 구현 에러 (KOE320)에서 토론 계속하기:

우선 답변 감사드립니다!
이해가 가지 않는 부분이 있어 추가 문의 드립니다.
953729 앱에서
J_tFmg9NUALMLoI8fp0qXd09WA0E8iHKVai5WTceCinI2QAAAYoyoCyJ
인가코드를 발급한 이력이 없다고 말씀해주셨는데요,
안드로이드에서 받은 해당 코드 자체가 인가코드가 아니라는 말씀이신가요?

안드로이드에서 받은 해당 코드 자체가 인가코드가 아니라는 말씀이신가요?

네, 해당 값은 인가코드가 아닌 인가코드로 받은 액세스 토큰으로 확인됩니다.

안드로이드 SDK로 카카오 로그인 시, 리다이렉트 처리와 액세스토큰 발급 처리를 SDK내부에서 한번에 처리합니다.

(1) 백엔드에 인가 코드를 전달하시려면, REST-API 방식 로그인을 앱내 인앱브라우저에서 처리하시거나

(2) SDK사용으로 안드로이드에 카카오와 교신을 일임하고 백엔드에는 결과만 전송하는 것을 추천드립니다.

답변 감사드립니다. 말씀해주신 내용 잘 활용해 보겠습니다.

1개의 좋아요