[firebaseFunction]로그인/로그아웃 API

WINSCA, Han·2021년 7월 15일
0
post-custom-banner


파이어베이스는 회원가입, 로그인부터 로그인 상태까지 쉽게 관리할 수 있게 해주는 기능(API)들을 제공해주기 때문에 참으로 편리하다.

config 폴더 안에 firebaseFunction.jsx 파일을 만들고 그 파일 안에 파이어베이스 라이브러리를 넣어서 사용하고 관리하도록 한다.

내가 사용할 라이브러리는 1)회원가입함수, 2)로그인함수, 3)로그아웃함수, 4)데이터베이스 이용 함수이다.

import * as firebase from 'firebase';
import 'firebase/firestore';
import { Alert } from 'react-native';

export async function registration(nickName, email, password, navigation) {
  try {
    console.log(nickName, email, password);
    await firebase.auth().createUserWithEmailAndPassword(email, password);
    const currentUser = firebase.auth().currentUser;
    const db = firebase.firestore();
    db.collection('users').doc(currentUser.uid).set({
      email: currentUser.email,
      nickName: nickName,
    });
    Alert.alert('회원가입 성공!');
    navigation.push('TabNavigator');
  } catch (err) {
    Alert.alert('무슨 문제가 있는 것 같아요! => ', err.message);
  }
}

export async function signIn(email, password, navigation) {
  try {
    await firebase.auth().signInWithEmailAndPassword(email, password);
    navigation.push('TabNavigator');
  } catch (err) {
    Alert.alert('로그인에 문제가 있습니다! ', err.message);
  }
}

export async function logout(navigation) {
  try {
    console.log('로그아웃!!');
    const currentUser = firebase.auth().currentUser;
    console.log(currentUser);
    await firebase.auth().signOut();
    navigation.push('SignInPage');
  } catch (err) {
    Alert.alert('로그아웃에 문제가 있습니다! ', err.message);
  }
}
profile
코딩초보의 코딩적응기 Coding adaptor for beginners
post-custom-banner

0개의 댓글