카카오 로그인 화면에서 뒤로가기 문의

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

Faq 목록 - 10. Android ( Faq 목록 입니다 ) 먼저 확인해주세요.


com.kakao.sdk:v2-user:2.20.6 사용하여 카카오 로그인을 구현하고 있습니다.
리액트 웹앱을 웹뷰로 패키징한 형태의 앱이고, 리액트에서 로그인 버튼 클릭 시 아래 함수를 호출하여 카카오톡 로그인을 안드로이드에서 진행하려고 하고 있습니다.

@JavascriptInterface
    fun kakaoLogin(message: String) {
        val context: Context = webView.context

        val callback: (OAuthToken?, Throwable?) -> Unit = { token, error ->
            if (error != null) {
                Log.e("Kakao", "카카오계정으로 로그인 실패", error)
            } else if (token != null) {
                Log.i("Kakao", "카카오계정으로 로그인 성공 ${token.accessToken}")
            }
        }

        // 카카오톡이 설치되어 있으면 카카오톡으로 로그인, 아니면 카카오계정으로 로그인
        if (UserApiClient.instance.isKakaoTalkLoginAvailable(context)) {
            UserApiClient.instance.loginWithKakaoTalk(context) { token, error ->
                if (error != null) {
                    Log.e("Kakao", "카카오톡으로 로그인 실패", error)

                    // 사용자가 카카오톡 설치 후 디바이스 권한 요청 화면에서 로그인을 취소한 경우,
                    // 의도적인 로그인 취소로 보고 카카오계정으로 로그인 시도 없이 로그인 취소로 처리 (예: 뒤로 가기)
                    if (error is ClientError && error.reason == ClientErrorCause.Cancelled) {
                        return@loginWithKakaoTalk
                    }

                    // 카카오톡에 연결된 카카오계정이 없는 경우, 카카오계정으로 로그인 시도
                    UserApiClient.instance.loginWithKakaoAccount(context, callback = callback)
                } else if (token != null) {
                    Log.i("Kakao", "카카오톡으로 로그인 성공 ${token.accessToken}")
                }
            }
        } else {
            UserApiClient.instance.loginWithKakaoAccount(context, callback = callback)
        }
    }

비밀번호나 지문등으로 인증을 시도하는 화면에서 인증을 안하고 그냥 뒤로가기를 눌렀을 때 앱이 그냥 종료가 되버리는데 뒤로가기했을 때 다시 웹뷰 화면으로 돌아갈 수 있도록 컨트롤 할 수 있는 방법이 있나요?

커스텀탭의 디폴트 브라우저는 컨트롤 할 수 없고

앱이 종료되는 것은
onBackPressed 함수 override해서 컨트롤 하시면 될 것 같은데 시도 해보셨을까요?

MainActivity쪽에는 OnBackPressedCallback이 override 되어있는데 카카오 로그인 창에서 뒤로가기를 누를 때는 해당 함수에 호출이 안들어오네요…

아… 넵. 확인해보니 컨트롤 할 수 없군요.
별도로 내부 전파하여 개선요청 해보도록 하겠습니다.
다만, 본건의 경우 카카오톡 업데이트가 수반될 수 있고 여러 검증이 필요해서
빠른 피드백 드리기 어려운점 미리 양해 부탁드립니다.

1개의 좋아요

혹시, 이 이후에 업데이트된 사항이 있거나, 해결방법이 나온것이 있을까요?
카카오 로그인 시도할때 카톡에 잠금설정이 되어 있을때 뒤로가기 해도 앱이 종료되지 않게 처리하고 싶습니다.

안녕하세요.

내부 검토는 되었으나 잠금화면 상태의 카카오톡 동작 변경은 어려워보입니다.
리액트 웹앱으로 구현하셨다고 하셨는데요.
리액트를 웹뷰로 구현하신건가요? 아니면 리액트네이티브로 구현하신 것을 의미하신건가요?

1개의 좋아요

리액트 웹을 안드로이드에서 웹뷰로 패키징하여 구현했고
현재는 그냥 api 리다이렉트 방식으로 구현하는 것으로 결정하였습니다.

1개의 좋아요

잠금화면 설정된 이용자가 로그인중 뒤로가기하는 경우는 엣지 케이스이긴하나
모앱이 닫히는 만큼 서비스 상황에 따라 비중이 많다면 대응이 필요해보입니다.
카카오톡 잠금화면에 진입하는 매우 다양한 씬이 있어 카카오톡 수정은 어려워보이고


톡으로 로그인이 아닌 카카오계정으로 로그인 또는 REST-API방식 로그인으로 개선 해야할 것으로 보입니다.
다만, 희소한 케이스이므로 이용자 안내 정도로 대응 해도 무방한지 검토 해보시면 좋을 것 같습니다.

1개의 좋아요