[ANDROID] 카카오톡으로 로그인 실패 302 에러 : AuthError(statusCode=302, reason=Unknown, response=AuthErrorResponse(error=NotSupportError, errorDescription=KakaoTalk is installed but not connected to Kakao account.))

CHA·2023년 5월 3일

문제

카카오톡 간편 로그인 기능 구현 시 AuthError(statusCode=302, reason=Unknown, response=AuthErrorResponse(error=NotSupportError, errorDescription=KakaoTalk is installed but not connected to Kakao account.)) 와 같은 에러 발생.

구글링 해보니, 302 에러는 카카오톡은 설치되어 있으나, 카카오톡이 로그인이 되지 않았을 때 발생하는 에러라고 함. 카카오 로그인 API 이용시, 카카오톡이 설치되어 있을 때는 카카오톡 로그인을, 설치되어있지 않다면 카카오 계정 로그인을 시도하도록 로직을 짰었다. 현재 내 디바이스에는 카카오톡은 설치되어 있으나, 카카오톡에 로그인이 되어있지 않기 때문에 발생하는 에러.

해결

개발자가 직접 예외 처리를 해주어 해결 가능. 즉, 카카오톡이 설치되어 있을때 302 에러가 발생한다면, 카카오 계정으로 로그인할 수 있게끔 해주면 된다.

private fun clickLoginKakao(){

    callback = { token, error ->
        if(token != null){
        ... 중략
                }
            }
        }else{
            loginWithKakaoAccount()
        }
    }
 if(UserApiClient.instance.isKakaoTalkLoginAvailable(this)){
        UserApiClient.instance.loginWithKakaoTalk(this, callback = callback!!)
    } else {
        UserApiClient.instance.loginWithKakaoAccount(this, callback = callback!!)
    }
}

private fun loginWithKakaoAccount(){
    UserApiClient.instance.loginWithKakaoAccount(this, callback = callback!!)
}

참고

https://devtalk.kakao.com/t/loginwithkakaotalk/109827

profile
Developer

0개의 댓글