Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Wook No.1

카카오톡 로그인 AuthError statusCode=302 KakaoTalk is installed but not connected to Kakao account. 본문

Android

카카오톡 로그인 AuthError statusCode=302 KakaoTalk is installed but not connected to Kakao account.

Wook No.1 2023. 4. 20. 08:25

카카오 로그인 시도시 카카오톡이 설치 되어있지만 로그인 되어있지 않은 상태에서 아래와 같은 에러가 발생한다.

AuthError(statusCode=302, reason=Unknown, response=AuthErrorResponse(error=NotSupportError, errorDescription=KakaoTalk is installed but not connected to Kakao account.))

 

기존에 아래와 같이 사용했을때 카카오톡이 설치 유무만 확인하도록 처리했지만

fun kakaoLogin() {
    if (UserApiClient.instance.isKakaoTalkLoginAvailable(context)) {
        UserApiClient.instance.loginWithKakaoTalk(context, callback = kakakoLoginCallback)
    } else {
        UserApiClient.instance.loginWithKakaoAccount(context, callback = kakakoLoginCallback)
    }
}
private val kakakoLoginCallback: (OAuthToken?, Throwable?) -> Unit = { token, error ->
    if (error != null) {
        Log.e("TAG", "로그인 실패", error)
    }
    else if (token != null) {
        Log.i("TAG", "로그인 성공 ${token.accessToken}")
    }
}

 

 

아래와 같이 콜백에서 error log로 statusCode(302)를 분기 처리 해서 web으로 다시 로그인 처리 할수 있다.

fun kakaoLogin() {
    if (UserApiClient.instance.isKakaoTalkLoginAvailable(context)) {
        UserApiClient.instance.loginWithKakaoTalk(context, callback = kakakoLoginCallback)
    } else {
        loginWithKakaoAccount()
    }
}

private fun loginWithKakaoAccount(){
    UserApiClient.instance.loginWithKakaoAccount(context, callback = kakakoLoginCallback)
}

private val kakakoLoginCallback: (OAuthToken?, Throwable?) -> Unit = { token, error ->
    if (error != null) {
        if (error.toString().contains("statusCode=302")){
            loginWithKakaoAccount()
        } else {
            Log.e("TAG", "로그인 실패", error)
        }
    }
    else if (token != null) {
        Log.i("TAG", "로그인 성공 ${token.accessToken}")
    }
}

 

참고

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

Comments