Как проверить электронную почту и сменить пароль с помощью службы электронной почты, отличной от предоставляемой Firebase? - PullRequest
0 голосов
/ 27 августа 2018

Я работаю над проектом Angular, он использует Firebase для обработки аутентификации и хранения данных.

Но так как электронная почта Firebase не допускает использование нестандартных шаблонов, я хочу использовать другой почтовый сервис, но не могу понять, как именно использовать такие функции, как 'auth.confirmPasswordReset' для Forgot Password и 'auth.applyActionCode .

Проблема с забытым паролем заключается в том, что для того, чтобы сменить пароль без кода электронной почты, пользователь должен пройти проверку подлинности, но для проверки подлинности он должен знать свой пароль. Я не знаю, смогу ли я принудительно изменить пароль пользователя в Firebase, просто зная его адрес электронной почты, после подтверждения моего собственного токена, отправленного сторонним приложением.

Проблема с проверкой электронной почты кажется проще, пользователю все равно нужно пройти проверку подлинности, чтобы подтвердить адрес электронной почты своей учетной записи, но вместо использования кода действия мне нужно написать собственную функцию, которая будет проверять действительность кода подтверждения, и, если код действителен, Функция изменит значение «emailVerified» в пользователе с false на true. Проблема в том, что это кажется невозможным или я не могу найти функцию, которая позволяет мне это делать.

Возможно ли сделать что-либо из этого или использование Firebase другими службами электронной почты невозможно?

1 Ответ

0 голосов
/ 27 августа 2018

Самый простой способ реализовать собственный сброс пароля в наши дни - полностью реализовать свой собственный поток, а затем с помощью Admin SDK установить для свойства emailVerified пользователя значение true . Например, в Node.js это так просто:

admin.auth().updateUser(uid, { emailVerified: true })

Эта функция доступна только в Firebase Admin SDK , что означает, что вы должны запускать ее только в доверенной среде, такой как ваш компьютер для разработки, сервер, которым вы управляете, или облачные функции.

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