[Flutter][FireBase] authentication - email (email 인증)(로그인/회원가입)

이상우·2022년 7월 29일
0
post-thumbnail

참고 사이트
https://youtu.be/se6wKk-w8lI

Authentication 셋팅

import 'package:firebase_auth/firebase_auth.dart';


//firebase authentication 사용하기 위한 인스턴스 생성
  final _authentication = FirebaseAuth.instance;

회원가입 코드

 //회원가입 로직
                          try {
                            final newUser = await _authentication
                                .createUserWithEmailAndPassword(
                              email: userEmail,
                              password: userPassword,
                            );
                            newUser.user?.updateDisplayName(userName);
                          } on FirebaseAuthException catch (e) {
                            if (e.code == 'weak-password') {
                              print('The password provided is too weak.');
                            } else if (e.code == 'email-already-in-use') {
                              print(
                                  'The account already exists for that email.');
                            }
                          }

로그인 코드

//로그인 로직
                          try {
                            final newUser = await _authentication
                                .signInWithEmailAndPassword(
                                    email: userEmail, password: userPassword);
                            if (newUser.user != null) {
                              // ignore: use_build_context_synchronously
                              Navigator.pushNamed(context, '/chat_page');
                            }
                          } on FirebaseAuthException catch (e) {
                            if (e.code == 'user-not-found') {
                              print('No user found for that email.');
                            } else if (e.code == 'wrong-password') {
                              print('Wrong password provided for that user.');
                            }
                          }
                          ```

로그인 후 회원 정보 보기

import 'package:firebase_auth/firebase_auth.dart';

final _authentication = FirebaseAuth.instance;

  User? loggedUser;
  
  
  
   @override
  void initState() {
  
    getCurrentUser();  //현재 로그인한 유저 정보 보는 함수

    super.initState();
  }
  
  
  //현재 로그인한 유저 정보 보는 함수
  void getCurrentUser() {
    try {
      final user = _authentication.currentUser;
      if (user != null) {
        loggedUser = user;
        print(loggedUser!.email);
        print(user.displayName);
      }
    } catch (e) {
      print(e);
    }
  }

로그인 한 상태인지 아닌지 확인하는 코드

if(auth.currentUser?.uid == null){
  print('로그인 안된 상태군요');
} else {
  print('로그인 하셨네');
} 

로그아웃

await auth.signOut(); 


                          
                          
                          
                          
profile
Flutter App Developer

0개의 댓글