문의 시, 사용하시는 개발환경과 디벨로퍼스 앱ID를 알려주세요.
앱ID : 719138
웹 자바스크립트
Kakao.Auth.authorize 로 code를 얻고 rest api로 oauth/token 요청시 특정 계정에서만 400에러가 발생해서 무한으로 로그인 화면이 리프레시 되는 문제가 발생합니다.
A기기에서 문제가 발생하고 같은 카카오 ID로 B기기에서 혹은 다른 브라우저에서 시도를 해도 같은 문제가 발생합니다.
또 특정 카카오 계정은 로그인이 잘 됩니다.
추가 sentry에서 확인되는 에러 관련 정보 첨부드립니다.
에러는 지난주 목요일부터 발생된 것으로 예상되고요, 유저들이 너무 많은 요청과 실패를 반복해서 에러 횟수는 계속 늘어나고 있는 것 같습니다.
tim.l
3
- oauth/token 요청시 응답으로 자세한 에러가 전달됩니다. 아래와 같은 에러가 전달되었습니다. 이미 사용된 인가코드를 재사용했다는 의미로 리다이렉트가 원인입니다.
{"error":"invalid_grant","error_description":"authorization code not found for code=mpP57******","error_code":"KOE320"}
- 리다이렉트 무한 반복은 운영하시는 서비스 문제입니다.
카카오 로그인 시, 설정하신 리다이렉트 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 인가코드 발급 과정에서 문제가 발생한 걸까요?
tim.l
6
카카오측 로그를 보면 아래와 같습니다.
(1) 카카오 로그인 인가코드 요청
(2) 리다이렉트 URI 이동 https://nfyg.co/my
(3) https://nfyg.co/my 에서 인가코드로 액세스 토큰 발급 성공
(4) 같은 인가코드로 액세스 토큰 재발급 반복 요청
JS SDK 를 최신 버전으로 사용해보시고 재현되는지 확인 해보시겠어요?
sdk 2.7.4 가장 최신버전으로 변경해도 똑같은 문제가 발생합니다.
tim.l
8
네, 그렇다면 개발하신 리다이렉트 URI 문제입니다.
해당 URL에서 다른 곳으로 리다이렉트 했다가 다시 되돌아갈만한 요인 있을지 코드나 설정 살펴보시면 좋을 것 같습니다.