loginWithKakaoTalk()에서 OAuthToken 값을 가져오지 못하고 있습니다

안녕하세요.

...
var authToken = await UserApi.instance.loginWithKakaoTalk();
...

위 함수에서 return이 안되고 있습니다.

현재 스토어에 올라가있는 앱(kakao_flutter_sdk: 1.6.1)은 정상적으로 동작하고 있습니다.
개발 버전 앱(kakao_flutter_sdk: 1.9.1+2)에서 오류가 발생하고 있습니다.

아래와 같은 로그만 출력됩니다.

flutter: {
flutter:   "code": "tNRIcreMwR6ciGjRkSRp3NrpAXVQhoLIJ71m1-X7yQFUCXyYVVTY3vX8uxgKKwyoAAABj1fXfFzC3p98Pd5TpQ"
flutter: }
final authCode = await AuthCodeClient.instance.authorizeWithTalk(...);

위 함수에서 멈춰있으며, 진행이 되고 있지 않습니다.
Exception도 발생하지 않고 있습니다.

플러그인 버전을 kakao_flutter_sdk: 1.6.1로 변경해도 개발버전에서는 오류가 발생하고있습니다.

현재 스토어에 올라가있는 kakao_flutter_sdk: 1.6.1는 정상적으로 동작하고있습니다.
(스토어에 올라가있는 앱은 Flutter version이나 기타 다른 패키지들의 버전은 더 낮은 버전입니다.)

스킴 설정은 정상인걸로 확인했습니다.
(그런데, https://developers.kakao.com/docs/latest/ko/kakaologin/multi-app#url-schemes 요기에 있는 스킴 설정하는 UI는 어떻게 나오는건가요? 제 앱 관리자 페이지에서는 안보이네요 ㅡ,ㅡ;?)

확인 부탁드리겠습니다.
감사합니다.


앱 ID (App ID)
876172, 876154

플랫폼 (Platform)
iOS 17+

디바이스 (Device)
iPhone SE3, iPhone 13 Max

Version
1.9.1+2

코드 샘플 (Code Sample)

...
      KakaoSdk.init(nativeAppKey: nativeAppKey);

      OAuthToken? authToken;

      if (await isKakaoTalkInstalled()) {
        try {
          authToken = await UserApi.instance.loginWithKakaoTalk();
        } on KakaoAuthException catch (e) {
          consoleLog(e.toString());
        } on PlatformException catch (e) {
          consoleLog(e.toString());
        } catch (e) {
          consoleLog('loginWithKakaoTalk - ${e.toString()}');
        }
      }
...

Logs

flutter: {
flutter:   "code": "tNRIcreMwR6ciGjRkSRp3NrpAXVQhoLIJ71m1-X7yQFUCXyYVVTY3vX8uxgKKwyoAAABj1fXfFzC3p98Pd5TpQ"
flutter: }

Flutter Doctor
[✓] Flutter (Channel stable, 3.19.6, on macOS 14.4.1 23E224 darwin-arm64, locale ko-KR)
• Flutter version 3.19.6 on channel stable at /Users/jeonglockpark/Desktop/work/flutter_sdk/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 54e66469a9 (3 weeks ago), 2024-04-17 13:08:03 -0700
• Engine revision c4cd48e186
• Dart version 3.3.4
• DevTools version 2.31.1

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
• Android SDK at /Users/jeonglockpark/Library/Android/sdk
• Platform android-34, build-tools 34.0.0
• Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11572160)
• All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 15E204a
• CocoaPods version 1.15.2

[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.3)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
:hammer: https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
:hammer: https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11572160)

[✓] VS Code (version 1.88.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension can be installed from:
:hammer: https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Network resources
• All expected network resources are available.

• No issues found!
Process finished with exit code 0

안녕하세요.

카카오톡에서 다시 서비스 앱으로 돌아오지 못하는 것으로 보입니다.
KakaoSdk.init()에 사용된 앱 키와AndroidManifest.xml AuthCodeCustomTabsActivity 설정 부분 공유 부탁드립니다.


해당 기능은 멀티 앱 권한을 보유하고 있어야만 표기됩니다.
말씀 주신 링크의 하단 이용 정책 > 사용 권한 신청 내용을 참고 부탁드립니다.

답변 감사합니다.

안드로이드는 정상적으로 동작합니다.
iOS에서 비정상적으로 동작하고 있습니다.

iOS에서 카카오톡 앱이 실행된후, 자사 앱으로 정상적으로 돌아옵니다.
이후 final authCode = await AuthCodeClient.instance.authorizeWithTalk(…); 여기서 진행이 안되는거 같습니다.

Info.plist

...
		<dict>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
			<key>CFBundleURLSchemes</key>
			<array>
				<string>kakao6f692678bd5dffb9237b8a2934335ab0</string>
			</array>
		</dict>
...
	<key>LSApplicationQueriesSchemes</key>
	<array>
		<string>kakaolink</string>
		<string>kakaotalk</string>
		<string>kakao6f692678bd5dffb9237b8a2934335ab0</string>
		<string>kakaokompassauth</string>
		<string>storykompassauth</string>
		<string>fbapi</string>
		<string>fb-messenger-share-api</string>
		<string>fbauth2</string>
		<string>fbshareextension</string>
	</array>
	<key>LSRequiresIPhoneOS</key>
...

AndroidManifest.xml

...
        <!-- kakao -->
        <activity
            android:name="com.kakao.sdk.flutter.AuthCodeCustomTabsActivity"
            android:exported="true">
            <intent-filter android:label="flutter_web_auth">
                <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="kakao6f692678bd5dffb9237b8a2934335ab0" />
            </intent-filter>
        </activity>
        <!-- kakao -->
...

감사합니다.

위 코드에 사용된 APP ID : 876172
KakaoSdk.init(nativeAppKey: nativeAppKey);의 사용된 nativeAppKey : 6f692678bd5dffb9237b8a2934335ab0 입니다. (다시 확인했습니다.)

감사합니다.

안녕하세요

AppDelegate.swift 파일 전문 첨부 부탁드리겠습니다.

추가로 현재 프로젝트에서 사용 중인 다른 패키지 정보도 알려주시면 이슈 파악에 도움이 될 것 같아요

답변 감사합니다.
nefone525_files.zip (8.5 KB)

요청하신 정보 공유해드립니다.
더 필요하신 내용있으면 말씀해 주세요.
DM도 괜찮습니다.

감사합니다.

보내주신 파일 확인해보았는데요, app_links 관련 이슈인 것으로 보여요. kakao_flutter_sdk의 버전과 무관한 것으로 보이고, 최근에 비슷한 이슈 제보가 들어왔었습니다

iOS 환경에서 ‘카카오톡으로 로그인’ 기능을 사용하면 application(app:url:options) 메소드를 통해 url을 전달받고, 해당 url을 sdk에서 처리하는 로직이 있습니다.

그런데 app_links 플러그인이 5.0.0 버전부터 application(app:url:options) 메소드에서 true를 반환하고 있어서 kakao_flutter_sdk까지 url이 전달되지 않고 있습니다.

해당 이슈는 kakao_flutter_sdk에서 처리할 수 없는 이슈라서 app_links 버전을 낮추시거나, app_links의 SwiftAppLinksPlugin.swift 파일에서 application(app:url:options) 반환 값을 false로 수정하는 방법으로 해결할 수 있을 것 같아요. (app_links에서 application(app:url:options) 반환 값을 true로 변경한 이유는 알지 못해서 반환 값을 false로 직접 수정하는 경우 다른 이슈가 발생할 수도 있습니다)

와우 감합니다.
아직 검토해보진 않았지만, 내용 참고해서 확인해보도록 하겠습니다.
(요정도는 제가 테스트를 해봤어야 했는데, 감사합니다. ^^)

검토해보고 공유할 내용이 있으면 공유하도록 하겠습니다.
감사합니다. 수고하세요.

1개의 좋아요

app_links 6.0.2 버전에서 이슈 수정됨

1개의 좋아요