팝업 방식으로 작동하는 Kakao.Auth.login은 User-Agent 를 체크하여 일부 브라우저만 간편로그인을 지원합니다.
이는 웹뷰에서 팝업 구현을 하지 않으면 정상적으로 동작하지 않기 때문입니다.
해결책
1. Kakao.Auth.authorize 함수의 경우는 모든 웹뷰에서 간편로그인을 지원합니다.
2. Kakao.Auth.login 함수에서 간편로그인을 사용하려면 User-Agent를 변경해야합니다. (wv, Version 제거)
Mozilla/5.0 (Linux; Android 8.0.0; SM-G935S Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Mobile Safari/537.36
추가정보
Kakao.Auth.login 함수에서 간편로그인 가능한 기준은 다음과 같습니다.
지원 가능한 카카오톡 버전 : And 9.1.0 / iOS 9.0.0 이상
지원 가능 어플리케이션 : Chrome, Safari 등 기본 브라우저 + Naver / Facebook / Instagram
그외 비표시 (단, 서비스 상황에 따라 버튼 미노출 설정 변경될 수 있음)
intent에 package를 넣지 않는 이유
intent에 package를 넣으면 스토어로 이동할 수 있지만,
웹뷰 환경에서 타사의 앱을 설치하도록 유도하면 앱 심사에서 탈락하는 히스토리가 있었습니다.
그래서 fallbackurl만 포함하고 있습니다.
카카오톡 미설치 시, facebook / instagram 인웹뷰에서 톡으로 로그인 반응 없음
모바일 환경에서 JS SDK로 카카오톡을 호출할 때 intent를 사용하고,
앱 호출이 실패하면 S.browser_fallback_url로 이동하도록 구현 하는데요.
https://developer.chrome.com/docs/multidevice/android/intents/
facebook 웹뷰에서 이 intent의 S.browser_fallback_url에 대한 파싱을 구현하지 않은 것으로 보입니다.
https://developers.kakao.com/docs/latest/ko/getting-started/sdk-js#hybrid-app
이부분은 facebook웹뷰에 디펜던시가 있어서 user-agent에 따라 REST-API 방식 로그인 해야합니다.
카카오톡 설치 후, 계정 로그인 안한경우 authorize 호출해도 카카오톡 실행안됨
현재 안드로이드 카카오톡 구조상 미로그인 시에는 앱 전환이 안되고 있습니다.
'카카오 REST API & SDK > 카카오 로그인' 카테고리의 다른 글
카카오 로그인으로 배송지 조회하기 (0) | 2022.04.19 |
---|---|
사용자 정보 가져오기 API로 휴대전화번호 조회(CI존재하나 전화번호 없는경우) (0) | 2021.09.28 |
카카오 사용자 정보조회 API (/v2/user/me) 응답 특성 (0) | 2021.07.23 |
카카오 로그인 액세스 토큰과 리프레시 토큰 (0) | 2021.06.15 |
[Legacy Android sdk] AUTHORIZATION_FAILED: Unable to resolve host "kauth.kakao.com": No address associated with hostname (0) | 2021.05.07 |
댓글