강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

dbrud5804님의 프로필 이미지
dbrud5804

작성한 질문수

React Native with Expo: 제로초에게 제대로 배우기

카카오 로그인

카카오 로그인이 안됩니다.

작성

·

359

0

//app\login.tsx

import { initializeKakaoSDK, getKeyHashAndroid } from "@react-native-kakao/core";

  const onKakaoLogin = async()=>{
    console.log(await getKeyHashAndroid());
    try{
      const result = await kakaoLogin(); // 로그인 완료될 때까지 대기
      console.log("로그인 결과:", result);
    } catch (error) {
      console.error("로그인 실패:", error);
    }
  };

코드를 이렇게 작성해서 콘솔창에 출력된 키 해시를 kakao dev 홈페이지에도 등록했습니다.

image.pngimage.png

이 화면까지는 잘 뜨는데, accept and continue를 눌러도 다시 앱으로 돌아가지도 않고 콘솔창에도 access token과 같은 로그인 여부 로그가 안뜹니다..

답변 3

1

dbrud5804님의 프로필 이미지
dbrud5804
질문자

이렇게 해결했습니다. (리디렉션 문제였네요 ㅜㅜ)
1. 아래의 코드를 AndroidMainFest.xml 에 추가해주세요(본인의 네이티브 앱 key 입력)(Android 12(API 31) 이상을 타깃으로 하는 앱인 경우, exported 요소를 반드시 "true"로 선언해야 합니다.)

<activity
   android:name="com.kakao.sdk.auth.AuthCodeHandlerActivity"
   android:exported="true">
  <intent-filter>
      <action android:name="android.intent.action.VIEW" />
      <category android:name="android.intent.category.DEFAULT" />
      <category android:name="android.intent.category.BROWSABLE" />

      <!-- Redirect URI: "kakao{NATIVE_APP_KEY}://oauth“ -->
      <data android:host="oauth"
          android:scheme="kakao{카카오 네이티브 앱 key를 입력해주세요}" />
          //나는 kakao1f0feecdee16fc211676546bf803b882 로 해서 넣었다.
  </intent-filter>
</activity>
  1. 이후 android/app/src/main/res/values/strings.xml 을 열어 다음을 추가 (+ 줄만 추가해주세요)

저는 이부분이 없어서 오류가 난 것 같아요.

<resources>
    <string name="app_name">KakaoLoginExample</string>
   + <string name="kakao_app_key">your_app_key</string>
</resources>

 

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

https://rnkakao.dev/en/docs/install-android

혹시 이 과정 전부 다 하셨나요??

dbrud5804님의 프로필 이미지
dbrud5804
질문자

키해시 등록까지는 해두었습니다.

dbrud5804님의 프로필 이미지
dbrud5804
질문자

Project Permissions은 되어 있었고,
Adding Gradle Dependency Repository에 이렇게 추가를 한 상태에서 npx expo run:android를 했는데 여전히 안됩니다... redirection 문제인가요...? 어떻게 해결해야하는지....

allprojects {
  repositories {
    maven {
      // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
      url(reactNativeAndroidDir)
    }
    maven {
      url 'https://devrepo.kakao.com/nexus/content/groups/public/'
    }

    google()
    mavenCentral()
    maven { url 'https://www.jitpack.io' }
  }
}

0

안녕하세요, 인프런 AI 인턴입니다. dbrud5804님께서 카카오 로그인과 관련된 문제를 겪고 계신 것 같아 유사한 질문에 대한 답변을 찾아보았습니다.

카카오 로그인 플로우에서 로그인 후 “Accept and Continue”를 눌렀을 때 앱으로 리다이렉트되지 않고 콘솔에 로그가 출력되지 않는 문제는 다음과 같은 원인에서 발생할 수 있습니다:

  1. Redirect URI 설정 확인: 카카오 개발자 콘솔에서 OAuth2 설정에 등록한 Redirect URI가 앱 내 리다이렉트와 맞지 않는 경우 발생할 수 있습니다. 정확한 URI를 등록했는지 확인해 보세요.

  2. Key Hash 문제: 종종 로그인이 완료되지 않는 문제는 Key Hash가 잘못 등록된 경우입니다. Key Hash가 정확하게 등록되었는지 다시 확인하세요.

  3. 로그아웃 후 재로그인 시도: 이전에 인증이 실패한 경우, 로그아웃 후 다시 로그인하면 문제를 해결할 수 있습니다.

  4. Console Logs 확인: console.log("로그인 결과:", result); 대신, 더 광범위한 로그를 사용하여 에러의 정확한 메시지를 확인합니다. console.error뿐만 아니라 console.log(error.message)와 같이 에러 메세지를 출력해 보세요.

유사한 문제 해결 방법이 포함된 게시글은 다음과 같습니다:

상기 내용을 점검해보시길 권장드리며, 문제를 해결할 수 없는 경우 로그에 더 많은 정보를 출력하도록 해 주시고, 결과를 다시 공유해 주시면 추가로 도움을 드릴 수 있도록 하겠습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

dbrud5804님의 프로필 이미지
dbrud5804

작성한 질문수

질문하기