하이브리드웹앱 카카오톡 로그인 시 (설치후 미로그인) 300 에러 해결방안

문의 시, 사용하시는 SDK 버전 정보와 디벨로퍼스 앱ID를 알려주세요.

Kakao SDK for JavaScript - v1.43.1
앱 ID : 663183

request
https://kauth.kakao.com/apiweb/code.json](https://kauth.kakao.com/apiweb/code.json?

  1. client_id:e04dd1aba0ad*************
  2. auth_tran_id:p78e41n397ae04dd1aba0add7e14fab932c2cb22084ller8u4p
  3. ka:sdk/1.43.1 os/javascript sdk_type/javascript lang/ko-KR device/Linux_armv8l origin/https%3A%2F%2Ftest-labs.wmpoplus.com

response

  1. error: “not_found_auth_code”
  2. error_code: “300”
  3. error_description: “can’t get an authorization_code”
  4. status: “error”

  • AOS 이슈
    JS SDK에서 authorize로 로그인
    window.Kakao.Auth.authorize({
    redirectUri: window.location.origin + ‘/login/callback’,
    });

  • 증상
    카카오톡만 설치되고 로그인 안되었다면 Android에서는 브라우저에서 응답을 받지 못함

: 유사한 데브톡을 찾아봤는데, 아래 내용에 따르면 현재 안드로이드일경우 throughTalk 을 false로 설정하라는 답변 외에 아직 이슈 개선되었다는 답변은 없는것 같습니다.
웹뷰에서 해당 케이스를 감지하는 방법이 없을까요 ?

https://devtalk.kakao.com/t/topic/131204/2
카카오톡 설치만 되어 있고 로그인 안한경우 폴링 성공응답을 받지 못하고 계속 폴링하는 현상” 이 있음.

https://devtalk.kakao.com/t/topic/125123
웹에서는 불가능하고 Activity간통신으로 NotSupportedError에러를 받을 수있는 앱에서만 가능합니다.
(android, iOS SDK에서 함수로 제공)

안녕하세요.

카카오톡만 설치되고 로그인 안되었다면 카카오톡에서 Activity간통신으로 NotSupportedError에러를 전달하는데요.
iOS와 달리 Android에서는 브라우저에서 응답을 못받는 알려진 이슈가 있습니다.

인앱 브라우저의 경우 아래 예제에서 “사용자가 카카오톡 설치 후 디바이스 권한 요청 화면에서 로그인을 취소한 경우,” Flow 참고하셔서 현재 카카오톡 설치 여부 및 로그인 여부에 따라

JS SDK에서 authorize로 로그인 시, throughTalk 파라메터를 false로 하신다면 카카오톡이 아닌 카카오 계정으로 로그인 할 수 있습니다.

Android 카카오 로그인 구현 예제 : Android | Kakao Developers Android

안녕하세요, 답변 감사합니다.
링크 안내해주신 Android 구현방법이 아닌
문의본문 내용대로 아직 javascript 단에서 throughTalk 설정 외 해결가능한 방법은 없는것이 맞을까요?

네, 아쉽지만 앱에서 처리하는 방법외에는 없습니다.

다만, 카카오톡을 설치만하고 로그인 하지 않은 상태에서 카카오로그인 하는 경우는 매우 희소한 상황으로 보이며
어뷰징 상황일 수도 있으므로 침해 사고 방지와 안전한 로그인 위해 throughTalk: false처리가 아닌 카카오톡 로그인 안내 메시지를 띄워도 좋을 것 같습니다.

혹시 해당 AOS 이슈는 javascript SDK 를 사용해서 발생하는걸까요?
Rest API 방식으로 구현했을때에도 ‘카카오톡 설치 미로그인’ 시 안드로이드에서 동일하게 발생하나요 ?

카카오톡 앱으로 로그인 시에만 발생 하며 JS SDK authorize 함수는 throughTalk이 기본 true입니다.
REST API 방식으로 카카오 계정 로그인 페이지에 진입한 경우도 ID/PW을 입력했다면 정상 로그인되지만
“카카오톡 으로 로그인” 하는 경우 처리되지 않습니다.

참고로, 계정 로그인 페이지에 “카카오톡 으로 로그인” 버튼은 인앱브라우저 일때는 표시하지 않습니다.

즉, 개발하신 하이브리드앱에서 사용자가 항상 ID/PW을 입력하여 로그인한다면 문제 발상하지는 않습니다만,
대부분 카카오톡 설치되어있고 설치한 경우 대부분 로그인된 상황을 감안할때
소수의 엣지 케이스를 위해 모두가 ID/PW을 입력해 로그인하는 이용자 불편이 예상되긴합니다.

1개의 좋아요