Проверка подлинности Firebase
Firebase Authentication предоставляет серверные службы, простые в использовании SDK и готовые библиотеки пользовательского интерфейса для аутентификации пользователей в вашем приложении. Он поддерживает аутентификацию с использованием паролей, телефонных номеров, популярных федеративных поставщиков удостоверений, таких как Google, Facebook и Twitter, и других.
Авторизация по электронной почте и паролю
1) Зарегистрируйте нового пользователя
Создайте форму, которая позволит новым пользователям регистрироваться в вашем приложении, используя свой адрес электронной почты и пароль. Когда пользователь заполняет форму, проверьте адрес электронной почты и пароль, предоставленные пользователем, а затем передайте их методу createUserWithEmailAndPassword()
:
<script> var email="[email protected]"; var password="password"; //Create User with Email and Password firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) { // Handle Errors here. var errorCode = error.code; var errorMessage = error.message; console.log(errorCode); console.log(errorMessage); }); </script>
2) Войти в систему
Создайте форму, позволяющую существующим пользователям входить в систему, используя свой адрес электронной почты и пароль. Когда пользователь заполняет форму, вызовите метод signInWithEmailAndPassword()
:
<script> var email="[email protected]"; var password="password"; //Sign In User with Email and Password firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) { // Handle Errors here. var errorCode = error.code; var errorMessage = error.message; console.log(errorCode); console.log(errorMessage); }); </script>
3) Установите наблюдателя состояния аутентификации и получите данные пользователя
Для каждой страницы вашего приложения, на которой требуется информация о вошедшем в систему пользователе, прикрепите наблюдателя к глобальному объекту аутентификации. Этот наблюдатель вызывается при изменении состояния входа пользователя.
Присоедините наблюдателя, используя метод onAuthStateChanged()
. Когда пользователь успешно входит в систему, вы можете получить информацию о пользователе в наблюдателе.
firebase.auth().onAuthStateChanged(function(user) { if (user) { // User is signed in. var displayName = user.displayName; var email = user.email; var emailVerified = user.emailVerified; var photoURL = user.photoURL; var isAnonymous = user.isAnonymous; var uid = user.uid; var providerData = user.providerData; // ... } else { // User is signed out. // ... } });
4) Выйти пользователя
Чтобы выйти из аккаунта пользователя, позвоните signOut()
:
firebase.auth().signOut().then(function() { // Sign-out successful. console.log('User Logged Out!'); }).catch(function(error) { // An error happened. console.log(error); });
5) Получите данные о текущем вошедшем пользователе
Вы также можете получить текущего пользователя, выполнившего вход, используя свойство currentUser
. Если пользователь не вошел в систему, currentUser
имеет значение null:
var user = firebase.auth().currentUser; if (user) { // User is signed in. if (user != null) { name = user.displayName; email = user.email; photoUrl = user.photoURL; emailVerified = user.emailVerified; uid = user.uid; // The user's ID, unique to the Firebase project. Do NOT use // this value to authenticate with your backend server, if // you have one. Use User.getToken() instead. } } else { // No user is signed in. }
6) Обновите сведения о пользователе
Вы можете обновить основную информацию профиля пользователя - отображаемое имя пользователя и URL фотографии профиля - с помощью updateProfile()
method. Например:
var user = firebase.auth().currentUser; user.updateProfile({ displayName: "Updated User's Name", photoURL: "https://example.com/user/profile.jpg" }).then(function() { // Update successful. console.log('User Profile Updated Successfully'); }).catch(function(error) { // An error happened. });
7) Установите адрес электронной почты пользователя.
Вы можете установить адрес электронной почты пользователя с помощью метода updateEmail()
. Например:
var user = firebase.auth().currentUser; user.updateEmail("[email protected]").then(function() { // Update successful. }).catch(function(error) { // An error happened. });
8) Отправьте пользователю письмо с подтверждением.
Вы можете отправить пользователю письмо с подтверждением адреса с помощью метода sendEmailVerification()
. Например:
var user = firebase.auth().currentUser; user.sendEmailVerification().then(function() { // Email sent. }).catch(function(error) { // An error happened. });
9) Установите пароль пользователя
Вы можете установить пароль пользователя с помощью метода updatePassword()
. Например:
var user = firebase.auth().currentUser; var newPassword = getASecureRandomPassword(); user.updatePassword(newPassword).then(function() { // Update successful. }).catch(function(error) { // An error happened. });
10) Отправьте электронное письмо для сброса пароля
Вы можете отправить электронное письмо для сброса пароля пользователю с помощью метода sendPasswordResetEmail()
. Например:
var auth = firebase.auth(); var emailAddress = "[email protected]"; auth.sendPasswordResetEmail(emailAddress).then(function() { // Email sent. console.log('Email Sent'); }).catch(function(error) { // An error happened. });
11) Удалить пользователя
Вы можете удалить учетную запись пользователя с помощью метода delete()
. Например:
var user = firebase.auth().currentUser; user.delete().then(function() { // User deleted. console.log('User Deleted'); }).catch(function(error) { // An error happened. });
Вы также можете удалить пользователей из раздела Аутентификация в консоли Firebase на странице Пользователи.
ПОСМОТРЕТЬ ВИДЕО ЗДЕСЬ ДЛЯ ПОДРОБНОЙ ИНФОРМАЦИИ О Firebase AUTH.
Спасибо
Удачного кодирования!