카카오 계정 로그인 시 반응이 없습니다

kakao_flutter_sdk: ^1.2.2 와 kakao_flutter_sdk: ^1.3.0-beta.4 에서 모두 시도해보았습니다.
아래의 카카오 로그인 예제를 그대로 테스트 하였습니다.

// 카카오톡 실행 가능 여부 확인
// 카카오톡 실행이 가능하면 카카오톡으로 로그인, 아니면 카카오계정으로 로그인
if (await isKakaoTalkInstalled()) {
  try {
      await UserApi.instance.loginWithKakaoTalk();
      print('카카오톡으로 로그인 성공');
  } catch (error) {
    print('카카오톡으로 로그인 실패 $error');

    // 사용자가 카카오톡 설치 후 디바이스 권한 요청 화면에서 로그인을 취소한 경우,
    // 의도적인 로그인 취소로 보고 카카오계정으로 로그인 시도 없이 로그인 취소로 처리 (예: 뒤로 가기)
    if (error is PlatformException && error.code == 'CANCELED') {
        return;
    }
    // 카카오톡에 연결된 카카오계정이 없는 경우, 카카오계정으로 로그인
    try {
        await UserApi.instance.loginWithKakaoAccount();
        print('카카오계정으로 로그인 성공');
    } catch (error) {
        print('카카오계정으로 로그인 실패 $error');
    }
  }
} else {
  try {
    await UserApi.instance.loginWithKakaoAccount();
    print('카카오계정으로 로그인 성공');
  } catch (error) {
    print('카카오계정으로 로그인 실패 $error');
  }
}

카카오톡으로 로그인은 잘 되는데, 안드로이드에서 카카오 계정으로 로그인 시 아무런 반응이 없습니다.
ios에서는 카카오톡으로 로그인과 카카오 계정으로 로그인 모두 잘 진행되었습니다.

답변 부탁드립니다.

안녕하세요.

계정으로 로그인 시 아무런 반응이 없다는 것이 버튼 클릭 이벤트 조차 발생하지 않는다는 의미인가요?

관련 로그와 화면 캡쳐 부탁드립니다.

추가로, 앱ID 알려주시면 카카오측 로그도 확인해보겠습니다.

image

카카오계정이 없어 카카오 계정으로 로그인 하는 웹뷰는 잘 떴고, 카카오 계정으로 로그인 후 웹뷰가 닫히고 저희 앱 화면으로 돌아오는 것 까지 동작합니다.
그런데 response인 OAuth 가 아무것도 오지 않고, ‘카카오계정으로 로그인 성공’ 이나 ‘카카오 계정으로 로그인 실패’ 와 같은 로그도 아무것도 찍히지 않습니다.

앱 id 는 512927 입니다.

로그를보니 아래와 같이 성공이력이 있습니다. 카카오측 로그상 문제 없어보이는데요.
어떤 상황인지 재현을 위해 작성하신 코드블럭 공유 부탁드려요.

Oct 26, 2022 @ 15:07:40.433	iOS에서 인가요청
Oct 26, 2022 @ 15:07:40.693	토큰발급
Oct 26, 2022 @ 15:07:40.925	사용자정보조회
  Future<void> loginWithKakaoTest() async {
    try {
      late OAuthToken loginResult;
      if (await isKakaoTalkInstalled()) { // 카카오톡 실행이 가능하면 카카오톡으로 로그인, 아니면 카카오계정으로 로그인
        try {
          loginResult = await UserApi.instance.loginWithKakaoTalk();
          print('카카오톡 로그인 성공, ${loginResult.toString()}');
        } catch (error) {
          // 사용자가 카카오톡 설치 후 디바이스 권한 요청 화면에서 로그인을 취소한 경우,
          // 의도적인 로그인 취소로 보고 카카오계정으로 로그인 시도 없이 로그인 취소로 처리 (예: 뒤로 가기)
          if (error is PlatformException && error.code == 'CANCELED') {
            return;
          }
          // 카카오톡에 연결된 카카오계정이 없는 경우, 카카오계정으로 로그인
          try {
            loginResult = await UserApi.instance.loginWithKakaoAccount();
            print('카카오 계정 로그인 성공, ${loginResult.toString()}');
          } catch (error) {
            print('카카오 계정 로그인 실패, ${error.toString()}');
            rethrow;
          }
        }
      } else {
        loginResult = await UserApi.instance.loginWithKakaoAccount();
        print('카카오 계정 로그인 성공, ${loginResult.toString()}');
      }
    } catch (e) {
      print('카카오 계정 로그인 실패, ${e.toString()}');
      rethrow;
    }
  }

카카오 로그인 버튼 클릭 시 위의 함수를 호출하도록 하였습니다.

로그를 다시보니 Android기기에서 인가요청 이후 토큰요청이 없는것으로 볼때 리다이렉트 설정이 안된것 같은데요.

AndroidManifest.xml 파일에 카카오 로그인 Redirect URI 설정 하셨을까요?

Flutter | Kakao Developers Flutter

네, AndroidManifest.xml 과 플랫폼의 redirect url 모두 아래와 같이 설정하였습니다.

Screen Shot 2022-10-27 at 9.21.02 AM
Screen Shot 2022-10-27 at 9.21.27 AM

<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" />

        <!-- Redirect URI, "kakao${YOUR_NATIVE_APP_KEY}://oauth" 형식 -->
        <data android:scheme="kakao${YOUR_NATIVE_APP_KEY}" android:host="oauth"/>
    </intent-filter>
</activity>

이렇게 설정해보시겠어요?

1개의 좋아요

아… 제가 다른 액티비티에 설정해 주고 있었네요,
해결했습니다. 감사합니다

1개의 좋아요