Форум программистов, компьютерный форум, киберфорум
JavaScript: Angular 2, AngularJS
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 25.11.2016
Сообщений: 4
1

Angular 6 + Firebase email-password authorisation. Email Verification

03.12.2018, 19:52. Просмотров 741. Ответов 1


Есть некоторое приложение с необходимостью регистрации/авторизации (Firebase -email/password).
При нажатии на условную кнопку "вход" выскакивает модальное окно с формой регистрации/авторизации. По нажатию на условную кнопку "зарегистрировать-нового-пользователя" данной формы в Firebase создается новый пользователь, и на почту, указанную при регистрации отправляется письмо со ссылкой-подтверждением.


Задача:
После подтверждения пользователем своего email необходимо закрыть модальное окно и перенаправить пользователя на страницу его аккаунта.

Мысли:
При подтверждении пользователем адреса почты значение свойства firebase.User.emailVerified меняется на true, соответственно необходимо отследить изменение значения этого свойства (это сделать не получается).

Вопросы:
1) Как отследить изменение значения свойства firebase.User.emailVerified для последующего выполнения необходимых действий? Или есть лучший способ отследить подтверждение email?
2) Как удалить созданный аккаунт Firebase, если адрес почты не подтвержден?

Фрагмент кода сервиса, используемого для регистрации/авторизации :
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
constructor(private afAuth: AngularFireAuth, private modalService: ModalService, private userService: UserService, private router: Router) {
 
  }
 
  // Регистрация email/password
  emailSignUp(email: string, password: string, userName: string) {
 
    return this.afAuth.auth
      .createUserWithEmailAndPassword(email, password)
      .then(
        (currentUser) => {
          // Отправляем сообщение пользователю
          currentUser.user.sendEmailVerification();
        }
      )
      .catch(error => this.handleError(error))
  }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.12.2018, 19:52
Ответы с готовыми решениями:

Авторизация ВК (не email/password)
Доброго времени суток! Подскажите, пожалуйста, как можно реализовать авторизацию в ВКонтакте...

Email сервис не требующий подтверждения по номеру телефона и другому email
Доброго времени! Прошу прощения если не туда пишу! Несколько месяцев назад регистрировал почту...

Отправка файлов по имени (email.pdf) на email
Всем привет! Есть куча файлов (около 160) каждый файл называется именем e-maila на который должен...

Заменить все email в этом тексте на '[email]'
Дан текст. Заменить все email в этом тексте на ''. Например, 'пишите мне на...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы Fullstack-разработчиков на JavaScript‌
1
234 / 218 / 110
Регистрация: 14.03.2015
Сообщений: 862
Записей в блоге: 1
27.02.2019, 14:28 2
Цитата Сообщение от MykolaPitersky Посмотреть сообщение
1) Как отследить изменение значения свойства firebase.User.emailVerified для последующего выполнения необходимых действий? Или есть лучший способ отследить подтверждение email?
Что в WPF (XAML), что в Angular2+ (ts) есть рекомендация к использованию нотификаторов - в нашем случае это rxjs (так как действия не синхронные)
Я бы добавил поток, который эмитится при получении подтверждения о регистрации и пушит данные во вне (чтобы подписчики получили уведомление о подтверждении почты)

Цитата Сообщение от MykolaPitersky Посмотреть сообщение
2) Как удалить созданный аккаунт Firebase, если адрес почты не подтвержден?
Если Firebase - не вами разработанная подсистема, то наверняка должна быть документация (или просто посмотреть открытый API и склеить вызовы пары методов)

А так - можно навскидку сказать, что после суток удалять аккаунт (бэкграунд воркер?)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.02.2019, 14:28

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Как сравнить email, который ввели с email, который имеется в массиве
Добрый день. Есть файл 1.php массивом с несколькими электронными адресами, например: <?php...

Asp.net identity password verification - локализованные строки ошибок не устраивают. Можно ли как-то изменить?
Всем привет. Делаю смену пароля. Есть такой код: public async Task<ActionResult>...

БД email
Есть база данных "Библиотека", есть отчет о должниках. Мне нужно отправлять email должникам (через...

1С + Email
Возникла задачка: 1. нужно проверять опр. почтовый ящик 2. при нахождение там новых писем,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.