카카오 로그인 REST API 에서 POST - https://kauth.kakao.com/oauth/token 요청 시, 특정 계정에서만 400에러가 발생하고 무한으로 페이지가 로딩되는 문제가 있습니다

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


앱ID : 719138
웹 자바스크립트

Kakao.Auth.authorize 로 code를 얻고 rest api로 oauth/token 요청시 특정 계정에서만 400에러가 발생해서 무한으로 로그인 화면이 리프레시 되는 문제가 발생합니다.

A기기에서 문제가 발생하고 같은 카카오 ID로 B기기에서 혹은 다른 브라우저에서 시도를 해도 같은 문제가 발생합니다.

또 특정 카카오 계정은 로그인이 잘 됩니다.


추가 sentry에서 확인되는 에러 관련 정보 첨부드립니다.

에러는 지난주 목요일부터 발생된 것으로 예상되고요, 유저들이 너무 많은 요청과 실패를 반복해서 에러 횟수는 계속 늘어나고 있는 것 같습니다.

  1. oauth/token 요청시 응답으로 자세한 에러가 전달됩니다. 아래와 같은 에러가 전달되었습니다. 이미 사용된 인가코드를 재사용했다는 의미로 리다이렉트가 원인입니다.
{"error":"invalid_grant","error_description":"authorization code not found for code=mpP57******","error_code":"KOE320"}
  1. 리다이렉트 무한 반복은 운영하시는 서비스 문제입니다.

카카오 로그인 시, 설정하신 리다이렉트 URI로 되돌아가고 https://nfyg.co/my 해당 페이지에서 https://nfyg.co/로 이동했다가 다시 되돌아가서 토큰 발급 재시도한 것으로 보입니다.

Referer : https://nfyg.co/

아 네, 지금 문제는 특정 계정이 모든 기기나 브라우저에서 똑같이 에러가 발생되고 있습니다.

Kakao.Auth.authorize 로 인가코드를 발급받고 rest api로 oauth/token 을 요청하고 있는데요,

새로운 기기나 브라우저로 인가코드를 발급받으면 새로운 코드가 발급될텐데 재사용 에러가 발생되는게 문제를 제대로 확인하기가 어려운 것 같습니다.

Kakao.Auth.authorize로 인가코드를 매번 새로 발급 받는데 KOE320 에러가 발생한다면 Kakao.Auth.authorize 인가코드 발급 과정에서 문제가 발생한 걸까요?

카카오측 로그를 보면 아래와 같습니다.

(1) 카카오 로그인 인가코드 요청
(2) 리다이렉트 URI 이동 https://nfyg.co/my 
(3) https://nfyg.co/my 에서 인가코드로 액세스 토큰 발급 성공
(4) 같은 인가코드로 액세스 토큰 재발급 반복 요청

JS SDK 를 최신 버전으로 사용해보시고 재현되는지 확인 해보시겠어요?

sdk 2.7.4 가장 최신버전으로 변경해도 똑같은 문제가 발생합니다.

네, 그렇다면 개발하신 리다이렉트 URI 문제입니다.

해당 URL에서 다른 곳으로 리다이렉트 했다가 다시 되돌아갈만한 요인 있을지 코드나 설정 살펴보시면 좋을 것 같습니다.