[로그인] 카카오스토리로 간편로그인 관련 이슈입니다

안녕하세요. 카카오스토리 연동을 위해 로그인을 구현하고 있습니다.

카카오스토리 앱이 단말에 설치는 되어 있지만, 로그인은 해두지 않은 상태입니다.
위 상태에서 ‘카카오계정으로 로그인’ 버튼을 터치하면
SessionCallback에서 onSessionOpenFailed가 호출된 후 카카오계정 로그인 화면이 나타납니다.
해당 화면에서 로그인을 하면 제 카카오톡으로 로그인 되었다는 메세지가 날아오지만,
정작 SessionCallback에서는 또 다시 onSessionOpenFailed가 호출됩니다.
Failed to get Authorization Code라는 메세지가 출력되는데…정확한 원인 파악이 안되어 글 남깁니다.

전체적인 에러 로그는 아래와 같습니다.


01-20 11:45:48.507: E/kakao.sdk(25640): com.kakao.util.exception.KakaoException: AUTHORIZATION_FAILED : Failed to get Authorization Code.
01-20 11:45:48.507: E/kakao.sdk(25640): at com.kakao.auth.Session.onAuthCodeCompleted(Session.java:360)
01-20 11:45:48.507: E/kakao.sdk(25640): at com.kakao.auth.Session.onAuthorizationCompletion(Session.java:614)
01-20 11:45:48.507: E/kakao.sdk(25640): at com.kakao.auth.authorization.Authorizer.done(Authorizer.java:59)
01-20 11:45:48.507: E/kakao.sdk(25640): at com.kakao.auth.authorization.authcode.GetterAuthCode.done(GetterAuthCode.java:81)
01-20 11:45:48.507: E/kakao.sdk(25640): at com.kakao.auth.authorization.authcode.GetterAuthCode.doneOnOAuthError(GetterAuthCode.java:75)
01-20 11:45:48.507: E/kakao.sdk(25640): at com.kakao.auth.authorization.authcode.GetterAuthCode.start(GetterAuthCode.java:102)
01-20 11:45:48.507: E/kakao.sdk(25640): at com.kakao.auth.authorization.authcode.GetterAuthCode.handleActivityResult(GetterAuthCode.java:128)
01-20 11:45:48.507: E/kakao.sdk(25640): at com.kakao.auth.Session.handleActivityResult(Session.java:631)
01-20 11:45:48.507: E/kakao.sdk(25640): at com.wjthinkbig.mbookdiaryalbum.SNS.KakaoLoginActivity.onActivityResult(KakaoLoginActivity.java:44)
01-20 11:45:48.507: E/kakao.sdk(25640): at android.app.Activity.dispatchActivityResult(Activity.java:5643)
01-20 11:45:48.507: E/kakao.sdk(25640): at android.app.ActivityThread.deliverResults(ActivityThread.java:3573)
01-20 11:45:48.507: E/kakao.sdk(25640): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3620)
01-20 11:45:48.507: E/kakao.sdk(25640): at android.app.ActivityThread.access$1400(ActivityThread.java:169)
01-20 11:45:48.507: E/kakao.sdk(25640): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1325)
01-20 11:45:48.507: E/kakao.sdk(25640): at android.os.Handler.dispatchMessage(Handler.java:102)
01-20 11:45:48.507: E/kakao.sdk(25640): at android.os.Looper.loop(Looper.java:136)
01-20 11:45:48.507: E/kakao.sdk(25640): at android.app.ActivityThread.main(ActivityThread.java:5479)
01-20 11:45:48.507: E/kakao.sdk(25640): at java.lang.reflect.Method.invokeNative(Native Method)
01-20 11:45:48.507: E/kakao.sdk(25640): at java.lang.reflect.Method.invoke(Method.java:515)
01-20 11:45:48.507: E/kakao.sdk(25640): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
01-20 11:45:48.507: E/kakao.sdk(25640): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
01-20 11:45:48.507: E/kakao.sdk(25640): at dalvik.system.NativeStart.main(Native Method)

카카오계정으로 로그인은 정상적으로 작동되는데
왜 카카오스토리 계정 간편로그인 경우에만 위와 같은 에러가 나타나는지 궁금합니다.

로그 메세지로 Devtalk에 검색해보아도, 해결책을 찾지 못하여 글 남깁니다.
답변 부탁드릴게요.
감사합니다.

자답입니다.

이슈 현상 : 카카오스토리 간편로그인로 로그인 시, 계속해서 onSessionOpenFailed 로그가 떨어지면 로그인이 안되는 현상이었습니다. 하지만 제 카카오톡으로는 로그인이 되었다는 메세지가 오는 상황이었고요.

카카오 로그인 버튼을 넣어둔 액티비티 내 onActivityResult에 아래 소스를 넣어두어 그런 것 같습니다.
아래 소스를 주석처리 하니, 문제 없이 로그인이 되네요.
if (Session.getCurrentSession().handleActivityResult(requestCode, resultCode, data)) {
return;
}

정확히 왜 그런 것인지는 모르겠지만요.
문제를 해결하긴 했지만, 위와 같은 현상이 왜 나타났던 것인지 알려주시면 감사하겠습니다.

if (Session.getCurrentSession().handleActivityResult(requestCode, resultCode, data)) {
return;
}

위의 코드는 카톡이나 카카오스토리가 정상적으로 로그인되어있을때 꼭 필요한 코드 입니다. 뭔가 설정이나 코드가 잘못되어있는것 같은데요. 제가 테스트 해보니 정상적으로 동작을 하고 있습니다.

카카오 스토리 버전과, 카카오 sdk 버전을 알려주실 수 있나요??

답변 감사드립니다.

분명 첫 번째 질문글 현상이 나타났고, 이를 해결하기 위해 질문을 했었는데요.
다시 확인해보니, 답변대로 아래 소스를 넣어주지 않으면, ‘카카오스토리로 로그인’ 메뉴를 눌렀을 때 아무런 액션이 없네요.

if (Session.getCurrentSession().handleActivityResult(requestCode, resultCode, data)) {
return;
}

위 소스를 다시 넣어 확인한 결과, 정상적으로 작동됩니다.
감사합니다.
추후 만일 동일한 이슈가 발생되면, 다시 한 번 질문글 올리도록 하겠습니다 :slight_smile:

1개의 좋아요