Google 致力于为黑人社区推动种族平等。查看具体举措

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

Вы можете использовать Firebase Authentication, чтобы позволить вашим пользователям проходить аутентификацию в Firebase, используя свои адреса электронной почты и пароли, а также управлять учетными записями вашего приложения на основе паролей.

Прежде чем вы начнете

  1. Добавить Firebase в свой проект JavaScript .
  2. Если вы еще не подключили приложение к вашему проекту Firebase, сделать это из консоли Firebase .
  3. Разрешить вход по электронной почте / паролю:
    1. В Firebase консоли откройте раздел Auth.
    2. На вкладке Вход в метод, включите Email / пароль входа в методе и нажмите кнопку Сохранить.

Создать учетную запись на основе пароля

Чтобы создать новую учетную запись пользователя с паролем, выполните следующие действия на странице регистрации вашего приложения:

  1. Когда новый пользователь регистрируется с помощью формы регистрации вашего приложения, выполните все действия по проверке новой учетной записи, которые требуются вашему приложению, например, убедитесь, что пароль новой учетной записи введен правильно и соответствует вашим требованиям к сложности.
  2. Создать новую учетную запись, передавая адрес электронной почты нового пользователя и пароль для createUserWithEmailAndPassword :

    Веб-версия 9

    import { getAuth, createUserWithEmailAndPassword } from "firebase/auth";
    
    const auth = getAuth();
    createUserWithEmailAndPassword(auth, email, password)
      .then((userCredential) => {
        // Signed in 
        const user = userCredential.user;
        // ...
      })
      .catch((error) => {
        const errorCode = error.code;
        const errorMessage = error.message;
        // ..
      });

    Веб-версия 8

    firebase.auth().createUserWithEmailAndPassword(email, password)
      .then((userCredential) => {
        // Signed in 
        var user = userCredential.user;
        // ...
      })
      .catch((error) => {
        var errorCode = error.code;
        var errorMessage = error.message;
        // ..
      });
    Если новая учетная запись была создана, пользователь входит в систему автоматически. Взгляните на раздел «Дальнейшие действия» ниже, чтобы получить данные пользователя, выполнившего вход.

    Здесь также можно выявлять и обрабатывать ошибки. Для получения списка кодов ошибок должны смотреть на Auth Reference Docs .

Войдите в систему как пользователь с адресом электронной почты и паролем

Шаги для входа пользователя с паролем аналогичны шагам для создания новой учетной записи. На странице входа в приложение сделайте следующее:

  1. Когда пользователь входит в ваше приложение, передать адрес электронной почты пользователя и пароль для signInWithEmailAndPassword :

    Веб-версия 9

    import { getAuth, signInWithEmailAndPassword } from "firebase/auth";
    
    const auth = getAuth();
    signInWithEmailAndPassword(auth, email, password)
      .then((userCredential) => {
        // Signed in 
        const user = userCredential.user;
        // ...
      })
      .catch((error) => {
        const errorCode = error.code;
        const errorMessage = error.message;
      });

    Веб-версия 8

    firebase.auth().signInWithEmailAndPassword(email, password)
      .then((userCredential) => {
        // Signed in
        var user = userCredential.user;
        // ...
      })
      .catch((error) => {
        var errorCode = error.code;
        var errorMessage = error.message;
      });
    Взгляните на раздел «Дальнейшие действия» ниже, чтобы получить данные пользователя, выполнившего вход.

    Здесь также можно выявлять и обрабатывать ошибки. Для получения списка кодов ошибок должны смотреть на Auth Reference Docs .

Следующие шаги

После того, как пользователь входит в систему в первый раз, создается новая учетная запись пользователя, связанная с учетными данными, то есть с именем пользователя и паролем, номером телефона или информацией о провайдере аутентификации, - с которыми пользователь вошел в систему. Эта новая учетная запись хранится как часть вашего проекта Firebase и может использоваться для идентификации пользователя в каждом приложении в вашем проекте, независимо от того, как пользователь входит в систему.

  • В приложениях, рекомендуемый способ узнать статус аутентификации вашего пользователя, чтобы установить наблюдатель на Auth объекте. Вы можете получить основную информацию о профиле пользователя от User объекта. См Управление пользователей .

  • В вашей базе данных в реальном времени и Firebase Cloud Storage правил безопасности , вы можете получить подписанный в уникальном пользователя идентификатор пользователя из auth переменной и использовать его , чтобы контролировать , какие данные пользователь заходит может.

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

Чтобы выйти пользователь, вызовите signOut :

Веб-версия 9

import { getAuth, signOut } from "firebase/auth";

const auth = getAuth();
signOut(auth).then(() => {
  // Sign-out successful.
}).catch((error) => {
  // An error happened.
});

Веб-версия 8

firebase.auth().signOut().then(() => {
  // Sign-out successful.
}).catch((error) => {
  // An error happened.
});