dev21
1
디벨로퍼스 앱ID : 588586
안녕하세요.
React-Native로 웹뷰 컨테이너를 만들고, 내부 웹에서는 React를 사용중입니다.
React에서 JavaScript SDK를 사용해서 카카오 로그인을 붙이고 있는데요,
IOS에서는 앱/웹 구분 없이
Kakao.Auth.authorize()
함수 실행 → 카카오톡 실행 → 동의화면 노출 → 정상 로그인
안드로이드 웹에서는 위 IOS 처럼 정상적으로 동작 되나
안드로이드 앱에서는 Kakao.Auth.authorize()
함수 실행 → 카카오톡 실행 이후 아무 동작을 하지 않습니다.
추가적으로 해야하는 설정이 있을까요?
플랫폼 등록 및
AndroidManifest.xml 파일에는 아래와 같이 설정 되어있습니다.
.....
<activity
android:name="com.kakao.sdk.auth.AuthCodeHandlerActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Redirect URI: "kakao${NATIVE_APP_KEY}://oauth" -->
<data android:host="oauth"
android:scheme="kakao{네이티브_웹_키}" />
</intent-filter>
</activity>
.....
또한 웹뷰()의 onShouldStartLoadWithRequest
에서는 따로 처리하지 않고 있습니다.
tim.l
2
안녕하세요.
(1) 카카오톡앱은 로그인되어 있는 상태인가요?
(2) Kakao.Auth.authorize()
함수 실행하는 사이트는 안드로이드 크롬 웹브라우저에서 정상동작하나요?
(3) Kakao.Auth.authorize()
함수 실행하는 사이트 URL 알려주시겠어요?
dev21
3
(1) 카카오톡앱은 로그인되어 있는 상태인가요?
=> 네, 카카오톡앱 설치 되어있고 로그인 되어있는 상태 입니다.
(2) Kakao.Auth.authorize()
함수 실행하는 사이트는 안드로이드 크롬 웹브라우저에서 정상동작하나요?
=> 네, 안드로이드 크롭 웹브라우저에서 정상적으로 동작합니다.
(3) Kakao.Auth.authorize()
함수 실행하는 사이트 URL 알려주시겠어요?
=> https://dev.camfit.co.kr/login
tim.l
4
기재하신 주소를 안드로이드 인앱브라우저에 띄워 카카오 로그인 해보니 정상 처리되네요.
개발하신 앱에 종속적인 문제인듯합니다.
웹뷰에서 웹페이지 띄워 JS SDK 로 로그인하고 카카오톡 앱 호출해서 Redirect URI로 이동하는 흐름이므로
AndroidManifest.xml에 activity 설정은 필요 없습니다.
JS SDK로 카카오톡에 로그인 요청하고
JS SDK는 로그인 성공 폴링응답 대기하는데요.
카카오톡만 띄우고 JS SDK가 폴링응답을 못받는 상황같네요.
재현영상과 재현시간 댓글로 제공해주시겠어요?
tim.l
6
네, 12시25분경 로그인 성공 응답을 못받아 SM-G950N 기기에서 계속 폴링하는 이력이 있네요.
특이점은 SM-G950N 기기에서 authorize 요청한 이력이 없고 폴링한 이력만 있습니다. 웹뷰 Request를 훼손하고 있는 로직이 있을 듯하네요.
영상에 authorize로 카카오톡을 호출하면 웹뷰가 떠야하는데 안뜨는 것을 보면 앱에서 카카오톡 호출을 잘못하는 것으로 보입니다.
웹뷰에서 아래 디벨로퍼스 데모 띄우시고 정상작동하는지 확인 부탁드려요.
https://developers.kakao.com/tool/demo/login/login
dev21
7
디벨로퍼스 데모도 동일하게 카카오톡 실행 이후 멈춰 있습니다.
좀 더 확인해 봐야 할 부분이 있을까요?
tim.l
8
네, 카카오톡 인앱브라우저에서 로그인 진행 안되는 것 보니
개발하신 앱내 코드에 원인이 있을 것으로 추정됩니다.
아무것도 없는 빈 프로젝트에 웹뷰 띄우고 카카오로그인만 적용하셔서 확인해보시겠어요?