앱 ID : 655896
sdk 버전: javascript 최신
next.js 웹프로젝트에서 반응형 사이트를 운영중인데,
안드로이드에서 카카오톡 앱을 설치 후 로그인하지 않으면 아래 api에서 response값으로 300 에러가 나고 redirectUri로 넘어가지 못하고 있습니다. 이럴 경우 강제로 accounts.kakao.com 링크 등으로 유도하려고 하거나 안내 팝업을 띄우고 싶은데 처리 방식을 알고 싶습니다
- 프론트 실제 코드
window.Kakao.Auth.authorize({
redirectUri: ${process.env.NEXT_PUBLIC_APP_HOST}/user/sns/kakao,
scope:
“gender birthyear birthday profile_nickname phone_number talk_message friends plusfriends”,
});
- 문제 api
request : https://kauth.kakao.com/apiweb/code.json?client_id=~~
response : { “status”: “error”, “error”: “not_found_auth_code”, “error_code”: “300”, “error_description”: “can’t get an authorization_code” }
안녕하세요.
~code.json 는 모바일 환경에서 카카오톡으로 로그인 시도하는 경우
카카오톡에서의 인증 여부를 확인 하기 위해 JS SDK가 지속적으로 호출하는 폴링 코드 입니다.
아직 인증 하지 않은 상태에서는 첨부하신 메시지와 같이 오류로 처리하지만, 이 코드에서 발생되는 오류나 오류 메시지는 서비스에 아무런 영향을 주지 않는점 참고 부탁드립니다.
추가로, 실제 모바일 디바이스가 아닌 PC에서 크롬의 모바일 모드로 하신 경우, JS SDK가 계속 폴링 요청만 할 뿐 실제로 톡에서 인증이 이루어 질 수 없기에 정상적인 테스트가 불가한점 참고 부탁드립니다.
실제 모바일을 로컬로 연결해서 발견한 코드입니다. 만약 지속적 폴링 현상이 일어나게 될 때 팝업 안내 등 처리하고 싶을 경우 어떻게 대처할 수 있나요? 대처가 불가능한가요?
안녕하세요.
달리 대처하지 않으셔도 될것 같습니다.
폴링요청은 모바일에서 카카오 로그인 과정중 반드시 수반되는 과정입니다.
회원님 서비스가 지속적 폴링 요청을 감지한다하여도 이것이 정상적인 과정인지 앞서 말씀주신 사례에 해당하는지는 알 수 없습니다.
즉, 사용자가 톡에서 장시간 머물다 동의 할 때의 폴링과, 톡에 로그인하지 않아 발생한 것과, 동의하지않고 직접 웹으로 돌아온 경우를 회원님 서비스에서 구분할 수 없습니다.
또한, 앞서 말씀 주신 두 케이스 모두 회원님의 로그인 페이지에 머물러 있는 모두 동일한 사용자 경험으로 이어지고 이용자가 언제든지 다시 로그인 시도할 수 있기에 달리 대처하지 않으셔도 될것 같습니다.