Вы можете использовать Firebase Authentication, чтобы ваши пользователи могли проходить аутентификацию в Firebase, используя свои адреса электронной почты и пароли, а также управлять учетными записями вашего приложения на основе паролей.
Прежде чем вы начнете
- Добавьте Firebase в свой проект JavaScript .
- Если вы еще не подключили свое приложение к проекту Firebase, сделайте это из консоли Firebase .
- Включить вход по электронной почте/паролю:
- В консоли Firebase откройте раздел Auth .
- На вкладке « Метод входа » включите метод входа по электронной почте/паролю и нажмите « Сохранить » .
Создайте учетную запись на основе пароля
Чтобы создать новую учетную запись пользователя с паролем, выполните следующие действия на странице регистрации вашего приложения:
- Когда новый пользователь регистрируется с помощью формы регистрации вашего приложения, выполните все шаги проверки новой учетной записи, которые требуются вашему приложению, например, убедитесь, что пароль новой учетной записи был правильно введен и соответствует вашим требованиям сложности.
- Создайте новую учетную запись, передав адрес электронной почты и пароль нового пользователя в
createUserWithEmailAndPassword
:Если новая учетная запись была создана, пользователь автоматически входит в систему. Просмотрите раздел «Следующие шаги» ниже, чтобы получить сведения о вошедшем в систему пользователе.Web version 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; // .. });
Web version 8
firebase.auth().createUserWithEmailAndPassword(email, password) .then((userCredential) => { // Signed in var user = userCredential.user; // ... }) .catch((error) => { var errorCode = error.code; var errorMessage = error.message; // .. });
Здесь также можно ловить и обрабатывать ошибки. Список кодов ошибок можно найти в Справочной документации по аутентификации.
Войдите в систему с адресом электронной почты и паролем
Шаги для входа пользователя с паролем аналогичны шагам для создания новой учетной записи. На странице входа в приложение выполните следующие действия.
- Когда пользователь входит в ваше приложение, передайте адрес электронной почты и пароль пользователя в
signInWithEmailAndPassword
:Просмотрите раздел «Следующие шаги» ниже, чтобы получить сведения о вошедшем в систему пользователе.Web version 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; });
Web version 8
firebase.auth().signInWithEmailAndPassword(email, password) .then((userCredential) => { // Signed in var user = userCredential.user; // ... }) .catch((error) => { var errorCode = error.code; var errorMessage = error.message; });
Здесь также можно ловить и обрабатывать ошибки. Список кодов ошибок можно найти в Справочной документации по аутентификации.
Следующие шаги
После того, как пользователь входит в систему в первый раз, создается новая учетная запись пользователя и связывается с учетными данными, т. е. с именем пользователя и паролем, номером телефона или информацией о поставщике проверки подлинности, с которыми пользователь вошел в систему. Эта новая учетная запись хранится как часть вашего проекта Firebase и может использоваться для идентификации пользователя во всех приложениях вашего проекта, независимо от того, как пользователь входит в систему.
В ваших приложениях рекомендуемым способом узнать статус аутентификации вашего пользователя является установка наблюдателя на объект
Auth
. Затем вы можете получить основную информацию о профиле пользователя из объектаUser
. См. Управление пользователями .В правилах безопасности базы данных Firebase Realtime и облачного хранилища вы можете получить уникальный идентификатор пользователя, вошедшего в систему, из переменной
auth
и использовать его для управления тем, к каким данным пользователь может получить доступ.
Вы можете разрешить пользователям входить в ваше приложение с помощью нескольких поставщиков проверки подлинности, связав учетные данные поставщика проверки подлинности с существующей учетной записью пользователя.
Чтобы выйти из системы, вызовите signOut
:
Web version 9
import { getAuth, signOut } from "firebase/auth"; const auth = getAuth(); signOut(auth).then(() => { // Sign-out successful. }).catch((error) => { // An error happened. });
Web version 8
firebase.auth().signOut().then(() => { // Sign-out successful. }).catch((error) => { // An error happened. });