Как запустить облачную функцию в Firebase при смене пароля? - PullRequest
0 голосов
/ 24 сентября 2019

Я пытаюсь запустить облачную функцию Firebase, когда пользователь меняет свой пароль, будь то путем изменения пароля (firebase.auth (). CurrentUser. updatePassword (newPassword) ) или путем его сброса (firebase.auth (). sendPasswordResetEmail (электронная почта) ).Так как я нигде не храню пароль, я не могу использовать триггер .onUpdate (или любой другой из триггеров).

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

Редактировать: с помощью этого триггера я хочу отправить электронное письмо пользователю, что его пароль был изменен.

У кого-нибудь есть идеи?Возможно ли это вообще?

1 Ответ

0 голосов
/ 24 сентября 2019

То, что вы хотите, вполне возможно, но вам придется реализовать это самостоятельно.По найденной вами ссылке нет встроенного триггера on-password-update учетной записи ... только триггеров onCreate и onDelete .Что означает, что мы должны справиться с этим вручную.Я бы справился с этим так же, как вы идете - используя облачную функцию для отправки пользователю электронного письма.

Я бы создал облачную функцию с именем что-то вроде notifyUserOfPasswordChange() и , чтобы вызвать эту облачную функцию из вашегоприложение сразу после строки кода, где вы вызываете .updatePassword() или .confirmPasswordReset() (, что завершающий шаг после .sendPasswordResetEmail () ).Если я понимаю суть вашего вопроса - это реальный ответ здесь.Вам нужно будет вызывать облачную функцию вручную всякий раз, когда вы выполняете код обновления пароля.Автоматического триггера нет.

Электронная почта может быть простой или настраиваемой, как вы ее кодируете.Если вы не уверены, начните с простого, и облачная функция получит целевой адрес электронной почты из параметра data, а затем используйте общее сообщение для тела сообщения.Если вы чувствуете себя более предприимчивым, рассмотрите возможность передачи UID пользователя и использования Admin SDK, чтобы найти зарегистрированный адрес электронной почты и отображаемое имя этого пользователя, а затем создать более красивое и персонализированное письмо в формате HTML.

Насколько как чтобы отправить электронное письмо из облачных функций Firebase, существует множество примеров - хороший пример есть на странице Firebase GitHub.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...