본문 바로가기

Flutter & Dart

Flutter & Dart Firebase 연동하기 3 - 로그인, 비밀번호 찾기

반응형

지난번에 이어서 Flutter 에서 Firebase를 연동하여 로그인, 비밀번호 찾기 방법을 알아보겠다.


https://dongkyu.tistory.com/41

 

Flutter & Dart Firebase 연동하기 2 - 회원가입

지난번에 이어서 Flutter 에서 Firebase를 연동하여 회원가입 하는 방법을 알아보겠다. https://dongkyu.tistory.com/39 Flutter & Dart Firebase 연동하기 1. Firebase 이용하기 Firebase 관련 서비스를 이용 하기 위해선

dongkyu.tistory.com

 

1. 로그인 방법

  Future<bool> signIn(String email, String pw) async {
    try {
      await FirebaseAuth.instance
          .signInWithEmailAndPassword(email: email, password: pw);      
    } on FirebaseAuthException catch (e) {
      if (e.code == 'invalid-email') {
        ToastMessage("계정을 찾을수 없습니다.");
        return false;
      } else if (e.code == 'invalid-credential') {
        ToastMessage("비밀번호가 틀렸습니다.");
        return false;
      } else {
        ToastMessage("다시 입력해주세요.");
        return false;
      }
    } catch (e) {
      return false;
    }
    return true;
  }

 

이메일, 비밀번호 입력 후 로그인 버튼을 누르면 signIn을 호출한다.

FirebaseAuth.instance.signInWithEmailAndPassword 를 호출 시 로그인을 할 수 있다.

 

2. 비밀번호 찾기

비밀번호 찾기를 하기 전에 Firebase에서 먼저 설정 해줘야 하는 것들이 있다.

 

Firebase의 Authentication - Templates 의 비밀번호 재설정 내용을 수정 해줘야 한다.

제목, 메시지 내용을 수정 한다.

 

firebaseSignIn(BuildContext context) async {    
    try {
      await FirebaseAuth.instance
          .sendPasswordResetEmail(email: emailController.text);

      ToastMessage("이메일을 확인하세요.");
    } on FirebaseAuthException catch (e) {
      if (e.code == 'invalid-email') {
        ToastMessage("정상적인 이메일을 사용해주세요.");
      } else {
        ToastMessage("비밀번호 찾기에 실패하셨습니다.");
      }
    }
  }

 

Flutter 소스는 다음과 같다.

await FirebaseAuth.instance.sendPasswordResetEmail 를 호출하면 가입시 사용 했던 이메일로 비밀번호 재설정 메일이 간다.

 

반응형