Kakao Login 라이브러리 설치
React Native Project에서 터미널을 키고 아래의 명령어로 Kakao Login 라이브러리를 설치한다.
npm i @react-native-seoul/kakao-login
Kakao Developer Application 등록
1. Kakao Login 후 Application을 등록해준다.
2. Application의 이름과 사업자명을 입력해주고 약관에 동의해준다.
저장 버튼을 누르면 아래와 같이 앱 키를 생성해준다.
React Native로 개발 중이므로 네이티브 앱 키를 사용한다.
3. 카카오 로그인 기능을 사용하기 위해 카카오 로그인 API를 활성화해준다.
안드로이드 플랫폼 설정
Kakao Developer 사이트 왼쪽 메뉴에 있는 플랫폼 탭으로 들어가서 안드로이드 플랫폼을 등록해준다.
패키지명은 React Native Project app 폴더 안의 build.gradle에서 applicationId를 적어주면 된다.
! RN와 Kakao Developer App의 패키지명이 불일치할 경우 Kakao Login 기능이 제대로 동작되지 않는다.
build.gradle 위치
{React Native Project}/android/app/build.gradle
Hash Key 발급 방법
[RN, Window] Hash Key 발급 (tistory.com)
React Native Project 설정
@react-native-seoul GitHub의 Android 설정 부분 참조
https://github.com/crossplatformkorea/react-native-kakao-login
1. AndroidManifest.xml
android:scheme에 들어가는 내용은 kakao{Native App Key}이다.
Kakao Developer에 등록한 Application으로 들어가서 Native App Key를 확인 후 넣어주면 된다.
2. string.xml
<string> 태그 안에 Native App Key를 넣어주면 된다.
React Native Project 적용
Kakao Login 라이브러리 설치 및 Kakao Developer Application 등록 후 간단한 설정을 해주면 Kakao Login 기능을 사용할 수 있게 된다.
아래와 같이 코드를 작성해주면 Kakao Login 기능이 정상적으로 동작한다.
1. @react-native-seoul/kakao-login의 login 함수를 import 해준다.
로그인 유저의 프로필을 받아오려면 추가로 getProfile 함수도 import 해준다.
import { login, getProfile } from '@react-native-seoul/kakao-login';
2. login 함수를 이용해서 코드를 구현해준다.
const signInWithKakao = async() => {
const token = await login();
console.log(token);
const profile = await getProfile();
console.log(profile);
}
프로필 정보를 가져오려면 Kakao Developer 카카오 로그인의 동의 항목에서 원하는 항목을 설정해줘야 한다.
3. 함수를 호출하는 버튼을 생성해준다.
<View>
<TouchableOpacity
onPress={signInWithKakao}
>
<Text>
카카오 로그인
</Text>
</TouchableOpacity>
</View>
4. 전체 코드
import React from 'react';
import { View, Text, TouchableOpacity } from 'react-native';
import { login, getProfile } from '@react-native-seoul/kakao-login';
export const App = () => {
const signInWithKakao = async() => {
const token = await login();
console.log(token);
const profile = await getProfile();
console.log(profile);
}
return (
<View>
<TouchableOpacity
onPress={signInWithKakao}
>
<Text>
카카오 로그인
</Text>
</TouchableOpacity>
</View>
);
}
테스트 화면
'📱Mobile > React Native' 카테고리의 다른 글
[React Native] iOS BLE Advertising (0) | 2023.11.21 |
---|---|
[React Native] Android BLE Advertising (0) | 2023.09.14 |
[React Native] Naver Login 구현하기 (0) | 2023.03.28 |
[React Native] Firebase 문자 인증 (0) | 2023.03.23 |
[React Native] Window에서 Firebase SHA-1 인증서 확인 (0) | 2023.03.22 |
댓글