Expo 앱에 카카오 로그인 붙이기: EAS Build 실전 가이드

Expo SDK 52+ 환경에서 카카오 로그인을 연동하는 방법. @react-native-seoul/kakao-login 5.x, EAS Build, Config Plugin, iOS URL Scheme, Android 키해시까지 실제 삽질 경험 기반으로 정리했습니다.

한국 로그인/Expo 앱에 카카오 로그인 붙이기: EAS Build 실전 가이드

KR 로그인 SDK

Expo 앱에 카카오 로그인 붙이기: EAS Build 실전 가이드

Managed Workflow에서 카카오 로그인이 안 되는 이유부터 EAS Build + Config Plugin 세팅, Android 키해시 디버깅까지. Expo 카카오 로그인 실전 가이드.

한 줄 답: Expo에서 카카오 로그인은 EAS Build + @react-native-seoul/kakao-login 5.x + Config Plugin 조합이 현재 가장 안정적인 경로입니다.

Boaz · Product Engineer

iOS에서는 카카오 로그인이 잘 되는데 Android에서만 로그인 창이 열렸다가 바로 닫히는 경험, 한 번쯤은 겪어보셨을 겁니다. 원인은 대부분 키해시 문제입니다. EAS Build는 로컬 디버그 키스토어와 다른 키스토어를 사용하기 때문에, 카카오 개발자 콘솔에 등록한 키해시와 불일치가 생깁니다.

Expo에서 카카오 로그인을 붙이려면 Managed Workflow만으로는 안 됩니다. EAS Build + Config Plugin 경로를 타야 합니다.

Expo Managed Workflow에서 카카오 로그인이 왜 안 되나요?

카카오 로그인 SDK는 네이티브 모듈(Kakao SDK for iOS/Android)을 직접 사용합니다. Expo Go 앱은 커스텀 네이티브 코드를 실행할 수 없기 때문에 Managed Workflow에서는 동작하지 않습니다.

해결책은 두 가지입니다.

  • EAS Build: 클라우드에서 네이티브 바이너리를 빌드하는 방법. 가장 권장하는 경로.
  • expo prebuild → 로컬 빌드: ios/, android/ 디렉터리를 직접 관리하는 Bare Workflow 전환.

대부분의 팀은 EAS Build를 선택합니다. 로컬 Xcode/Android Studio 세팅이 필요 없기 때문입니다.

패키지 설치와 Config Plugin 설정

현재(2026년 기준) 최신 버전은 5.4.2입니다. React Native 0.60+ auto-linking을 지원합니다.

yarn add @react-native-seoul/kakao-login
yarn add expo-build-properties

app.config.ts에 Config Plugin을 추가합니다. app.json도 동일한 구조입니다.

import { ExpoConfig, ConfigContext } from 'expo/config';

export default ({ config }: ConfigContext): ExpoConfig => ({
  ...config,
  plugins: [
    [
      '@react-native-seoul/kakao-login',
      {
        kakaoAppKey: process.env.KAKAO_APP_KEY ?? '',
        overrideKakaoSDKVersion: '2.11.2',
        kotlinVersion: '1.9.0',
      },
    ],
    [
      'expo-build-properties',
      {
        android: {
          extraMavenRepos: [
            'https://devrepo.kakao.com/nexus/content/groups/public/',
          ],
        },
      },
    ],
  ],
});

extraMavenRepos를 빠뜨리면 Android 빌드 시 Kakao SDK 의존성을 못 찾아서 Gradle 빌드가 실패합니다. 초반에 이걸 놓쳐서 30분 날렸습니다.

Android 키해시 등록: 가장 흔한 실패 지점

EAS Build는 자체적으로 관리하는 키스토어로 앱에 서명합니다. 이 키스토어의 SHA-1 해시를 카카오 개발자 콘솔에 등록해야 합니다.

1단계: EAS 키스토어 정보 확인

eas credentials

SHA-1 fingerprint가 출력됩니다. 이 값을 OpenSSL로 Base64 인코딩하면 카카오 키해시가 됩니다.

echo "A1B2C3..." | xxd -r -p | openssl base64

2단계: 카카오 개발자 콘솔 등록

카카오 개발자 콘솔 → 내 애플리케이션 → 앱 설정 → 플랫폼 → Android에서 키해시를 등록합니다.

Windows PowerShell에서 위 명령을 실행하면 줄바꿈 문자가 섞여 잘못된 해시가 나옵니다. Git Bash나 macOS 터미널을 사용하세요.

3단계: 코드에서 직접 확인 (가장 확실한 방법)

import { getKeyHashAndroid } from '@react-native-seoul/kakao-login';

if (__DEV__) {
  getKeyHashAndroid().then(hash => console.log('KeyHash:', hash));
}

iOS URL Scheme 설정

Config Plugin이 Info.plist를 자동으로 수정해주기 때문에 별도 수작업이 필요 없습니다. 단, 카카오 앱 키가 올바르게 전달되었는지 app.config.ts에서 환경변수가 잘 주입되는지 확인하세요.

에러 메시지 → 원인 매핑

에러 메시지 원인 해결 방법
invalid_key_hash Android 키해시 불일치 eas credentials로 SHA-1 확인 후 콘솔 재등록
invalid_ios_bundle_id iOS Bundle ID 불일치 카카오 콘솔 Bundle ID와 app.config.tsbundleIdentifier 일치 확인
로그인 창이 열리지 않음 (iOS) URL Scheme 미등록 kakaoAppKey 환경변수 확인, EAS Build 재실행
Gradle 빌드 실패 (Could not resolve com.kakao.sdk) Maven repo 미설정 expo-build-propertiesextraMavenRepos 추가
KakaoSDK is not initialized SDK 초기화 누락 KakaoSDK.init() 호출 확인 (Config Plugin 사용 시 자동 처리됨)

자주 묻는 질문

Expo Go에서 카카오 로그인을 테스트할 수 없나요?+

Expo Go는 커스텀 네이티브 코드를 실행할 수 없어서 @react-native-seoul/kakao-login이 동작하지 않습니다. eas build --profile development로 개발 빌드를 만들고 Expo Dev Client를 통해 테스트해야 합니다.

Play Store 배포 후 갑자기 카카오 로그인이 안 됩니다.+

Play Store는 Google Play App Signing을 사용하기 때문에 업로드 키해시와 실제 배포 키해시가 다릅니다. Google Play Console → 설정 → 앱 서명 → 앱 서명 키 인증서에서 SHA-1을 확인하고, 해당 키해시를 카카오 개발자 콘솔에 추가로 등록해야 합니다.

Android에서 invalid_key_hash 에러가 계속 납니다.+

가장 확실한 방법은 앱 코드에서 직접 키해시를 출력하는 겁니다. getKeyHashAndroid()를 호출해서 나온 값과 카카오 콘솔에 등록된 값을 비교하세요. Windows 환경에서 OpenSSL로 변환했다면 줄바꿈 문자가 섞였을 가능성이 높으니 Git Bash나 macOS에서 재시도하세요.

Gradle 빌드가 Could not resolve com.kakao.sdk로 실패합니다.+

expo-build-properties 플러그인의 extraMavenRepos에 https://devrepo.kakao.com/nexus/content/groups/public/ 을 추가했는지 확인하세요. 이 설정이 없으면 Android 빌드 시 Kakao SDK 의존성을 찾지 못합니다.

iOS에서 카카오 앱이 설치돼 있는데도 웹 로그인으로 열립니다.+

Info.plist의 LSApplicationQueriesSchemes에 kakaokompassauth, storykompassauth 등이 등록되어 있어야 카카오 앱 연동이 됩니다. Config Plugin 최신 버전을 사용하면 자동으로 설정됩니다. EAS Build를 다시 실행해 반영하세요.

B

Boaz 씀

10년차 풀스택 개발자. LINE에서 일하다 퇴사 후 한 달 만에 네이티브 앱 4개를 App Store에 출시했어요. 그 과정을 시스템으로 만든 게 AI App Factory입니다.

이어서 읽기

앱 개발, 시스템으로 끝내세요.

React Native + NestJS + Supabase + AI 에이전트 17개. 1회 결제로 끝나는 인디해커 시스템입니다.

AI App Factory한국 로그인Expo 앱에 카카오 로그인 붙이기: EAS Build 실전 가이드