crossplatformkorea / react-native-kakao-login

react-native native module for Kakao sign in.
MIT License
360 stars 136 forks source link

refresh token not found #213

Open jhui134 opened 3 years ago

jhui134 commented 3 years ago

Version of kakao-login libraries

3.0.7

Version of react-native

0.64.0

Platforms you faced the error (IOS or Android or both?)

android

Expected behavior

login

Actual behavior

!! 개발 환경에선 테스트 잘되는데 마켓에 올라가면 발생합니다.

clientError(reason=tokenNotFound,msg = refresh token not found in the response) 에러 메시지가 이렇게 뜨고 sdk v2 문제인건지 리프레시 토큰이 어째 만료가된건지 없는게 이해가 안되네요... 리다이렉션에서 문제가 있는건지

manifest 설정

 <activity android:name="com.kakao.sdk.auth.AuthCodeHandlerActivity">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data
                    android:host="oauth"
                    android:scheme="kakaoe89bd6481efc5-------" />
                <data android:host="kakaolink"
                    android:scheme="kakaoe89bd6481efc5-------" />
            </intent-filter>
        </activity>

logcat

2021-04-20 16:03:38.500 961-2872/? E/Parcel: Class not found when unmarshalling: com.kakao.sdk.auth.c$c
    java.lang.ClassNotFoundException: com.kakao.sdk.auth.c$c
        at java.lang.Class.classForName(Native Method)
        at java.lang.Class.forName(Class.java:454)
        at android.os.Parcel.readParcelableCreator(Parcel.java:3031)
        at android.os.Parcel.readParcelable(Parcel.java:2981)
        at android.os.Parcel.readValue(Parcel.java:2883)
        at android.os.Parcel.readArrayMapInternal(Parcel.java:3261)
        at android.os.BaseBundle.initializeFromParcelLocked(BaseBundle.java:292)
        at android.os.BaseBundle.unparcel(BaseBundle.java:236)
        at android.os.BaseBundle.getString(BaseBundle.java:1160)
        at android.content.Intent.getStringExtra(Intent.java:8552)
        at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:847)
        at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:732)
        at com.android.server.wm.ActivityStarter.startActivityMayWait(ActivityStarter.java:2074)
        at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:646)
        at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1717)
        at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1613)
        at com.android.server.wm.ActivityTaskManagerService.startActivity(ActivityTaskManagerService.java:1566)
        at android.app.IActivityTaskManager$Stub.onTransact(IActivityTaskManager.java:1746)
        at android.os.Binder.execTransactInternal(Binder.java:1056)
        at android.os.Binder.execTransact(Binder.java:1029)
ClientError(reason=TokenNotFound, msg=Refresh token not found in the response.)
        at com.kakao.sdk.auth.k.c$a.a(Unknown Source:139)
        at com.kakao.sdk.auth.k.c$a.b(Unknown Source:5)
        at com.kakao.sdk.auth.b$d.a(Unknown Source:33)
        at k.g$b$a$a.run(Unknown Source:37)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:237)
        at android.app.ActivityThread.main(ActivityThread.java:8167)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)

Tested environment (Emulator? Real Device?)

안드로이드 실제 디바이스 삼성 s9

lazyflog commented 3 years ago

같은 문제 pro guard-rules.pro에서 밑의 문구를 추가하여 해결하였습니다 -keep class com.kakao.sdk.*.model. { ; }

jhui134 commented 3 years ago

저도 그렇게 해결하고 사용중입니다 ㅎㅎ 깃헙에도 표시가 되면 좋겠네요~