카카오 웹 로그인 삼성패스 연동 시 오류

kakao_flutter_sdk 1.1.0 버전 사용중입니다.

카카오 계정을 일반적으로 입력할 경우에는 정상적으로 로그인 동작이 수행되는데
삼성패스를 이용하여 웹 로그인 시 앱이 비정상적으로 종료되고 있습니다.

E/AndroidRuntime(22722): Process: PID: 22722
E/AndroidRuntime(22722): java.lang.RuntimeException: Unable to start activity ComponentInfo{/com.kakao.sdk.flutter.AuthCodeCustomTabsActivity}: java.lang.IllegalArgumentException: No uri was passed to AuthCodeCustomTabsActivity. This might be a bug in Kakao Flutter SDK.
E/AndroidRuntime(22722): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3654)
E/AndroidRuntime(22722): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3806)
E/AndroidRuntime(22722): at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
E/AndroidRuntime(22722): at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
E/AndroidRuntime(22722): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
E/AndroidRuntime(22722): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2267)
E/AndroidRuntime(22722): at android.os.Handler.dispatchMessage(Handler.java:107)
E/AndroidRuntime(22722): at android.os.Looper.loop(Looper.java:237)
E/AndroidRuntime(22722): at android.app.ActivityThread.main(ActivityThread.java:8167)
E/AndroidRuntime(22722): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(22722): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
E/AndroidRuntime(22722): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
E/AndroidRuntime(22722): Caused by: java.lang.IllegalArgumentException: No uri was passed to AuthCodeCustomTabsActivity. This might be a bug in Kakao Flutter SDK.
E/AndroidRuntime(22722): at com.kakao.sdk.flutter.AuthCodeCustomTabsActivity.onCreate(AuthCodeCustomTabsActivity.kt:34)
E/AndroidRuntime(22722): at android.app.Activity.performCreate(Activity.java:7963)
E/AndroidRuntime(22722): at android.app.Activity.performCreate(Activity.java:7952)
E/AndroidRuntime(22722): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1307)
E/AndroidRuntime(22722): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3629)
E/AndroidRuntime(22722): … 11 more
I/Process (22722): Sending signal. PID: 22722 SIG: 9
Lost connection to device.

에러 로그이며 확인에 필요한 추가적인 사항 있으면 말씀해 주시기 바랍니다. 감사합니다.

안녕하세요

혹시 이슈 재현 동영상 첨부가 가능하실까요?

그리고 앱 id와 이슈 발생하는 디바이스 정보(모델명, os 정보)도 알려주시면 감사하겠습니다

재현경로는 이렇습니다.

  1. A 앱에서 브라우저 로그인 화면 띄움 (카톡설치 X)
  2. A 앱이 어떠한 이유인지 (크래시 등으로 로그인 요청 uri 사라짐)
  3. 브라우저 로그인 페이지에서 로그인 Continue 버튼 누르면 크래시.

-------- 비슷한 재현을 하시려면,

  1. A 앱으로 로그인 요청, 브라우저 로그인 화면
  2. 로그인 화면에서 상단 메뉴에서 Open in Chrome (외부 크롬 브라우저)
  3. A 앱 강종 후에 크롬 브라우저에서 Continue 버튼 누르면 크래시.

크래시가 안나게 하는 방법을 알려주세요. AuthCodeCustomTabsActivity 가 final class 라서 IllegalArgumentException 을 처리할 수 가 없습니다.

삼성패스를 이용한 경우에는 이슈 재현되지 않아서 정확한 파악을 하지 못했고, 알려주신 재현 방법을 통해서 이슈를 재현했습니다. 해당 경우에 크래시가 발생하지 않도록 수정해서 다음 버전에 배포하도록 하겠습니다.

다음 버전 배포를 적용하기 전까지 크래시가 나지 않도록 하려면 AuthCodeCustomTabsActivity#onCreate 에서 fullUri를 인텐트로부터 가져오는 부분의 코드를 임시로 try catch로 감싸주셔서 예외처리해야 할 것 같습니다. (IDE에서 직접 수정이 가능합니다)

처리 해주실때 까지 기다릴게욤~
빠른 수정 감사드립니다~

1개의 좋아요