Google I/O 2022에서 Firebase의 새로운 기능을 확인하세요. 자세히 알아보기

Flutter에서 비밀번호 기반 계정을 사용하여 Firebase로 인증

Firebase 인증을 사용하여 사용자가 이메일 주소와 비밀번호를 사용하여 Firebase에 인증하도록 할 수 있습니다.

시작하기 전에

  1. 아직 수행하지 않았다면 시작하기 가이드의 단계를 따르세요.

  2. 이메일/비밀번호 로그인 활성화:

    • Firebase 콘솔의 인증 섹션에서 로그인 방법 페이지를 엽니다.
    • 로그인 방법 페이지에서 이메일/비밀번호 로그인 방법을 활성화하고 저장 을 클릭합니다.

암호 기반 계정 만들기

비밀번호를 사용하여 새 사용자 계정을 만들려면 createUserWithEmailAndPassword() 메서드를 호출하세요.

try {
  final credential = await FirebaseAuth.instance.createUserWithEmailAndPassword(
    email: emailAddress,
    password: password,
  );
} 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.');
  }
} catch (e) {
  print(e);
}

일반적으로 앱의 가입 화면에서 이 작업을 수행합니다. 새 사용자가 앱의 가입 양식을 사용하여 가입할 때 새 계정의 비밀번호가 올바르게 입력되었고 복잡성 요구 사항을 충족하는지 확인하는 것과 같이 앱에 필요한 모든 새 계정 유효성 검사 단계를 완료하세요.

새 계정이 성공적으로 생성되면 사용자도 로그인됩니다. 인증 상태 의 변경 사항을 수신 대기 중인 경우 새 이벤트가 리스너에게 전송됩니다.

새 계정 생성에 대한 후속 조치로 사용자의 이메일 주소 를 확인할 수 있습니다.

이메일 주소와 비밀번호로 사용자 로그인

암호로 사용자를 로그인하는 단계는 새 계정을 만드는 단계와 유사합니다. 앱의 로그인 화면에서 signInWithEmailAndPassword() 를 호출합니다.

try {
  final credential = await FirebaseAuth.instance.signInWithEmailAndPassword(
    email: emailAddress,
    password: password
  );
} 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.');
  }
}

다음 단계

사용자가 새 계정을 만든 후 이 계정은 Firebase 프로젝트의 일부로 저장되며 사용자가 사용한 로그인 방법에 관계없이 프로젝트의 모든 앱에서 사용자를 식별하는 데 사용할 수 있습니다.

앱에서 User 개체에서 사용자의 기본 프로필 정보를 가져올 수 있습니다. 사용자 관리 를 참조하십시오.

Firebase 실시간 데이터베이스 및 Cloud Storage 보안 규칙에서 auth 변수에서 로그인한 사용자의 고유한 사용자 ID를 가져와 사용자가 액세스할 수 있는 데이터를 제어하는 ​​데 사용할 수 있습니다.

인증 공급자 자격 증명 )을 기존 사용자 계정에 연결 하여 사용자가 여러 인증 공급자를 사용하여 앱에 로그인하도록 허용할 수 있습니다.

사용자를 로그아웃하려면 signOut() 을 호출합니다.

await FirebaseAuth.instance.signOut();