Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Аутентификация в Firebase с использованием учетных записей на основе пароля на Flutter

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

Вы можете использовать Firebase Authentication, чтобы ваши пользователи могли аутентифицироваться в 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 Realtime Database и Cloud Storage вы можете получить уникальный идентификатор вошедшего пользователя из переменной auth и использовать его для управления тем, к каким данным пользователь может получить доступ.

Вы можете разрешить пользователям входить в ваше приложение с помощью нескольких поставщиков проверки подлинности, связав учетные данные поставщика проверки подлинности с существующей учетной записью пользователя.

Чтобы выйти из системы, вызовите signOut() :

await FirebaseAuth.instance.signOut();