Как создать пользовательское подтверждение регистрации Firebase / подтверждение / сброс по электронной почте
Это сводит меня с ума. Я не могу использовать систему электронной почты Firebase, чтобы уведомить пользователя об электронном письме с подтверждением учетной записи, сбросе электронной почты или изменении электронной почты, потому что я не могу изменить язык или шаблон. Поэтому я начал использовать Sparkpost. Я уже собрал большую часть его функциональных возможностей, но обнаружил, что не могу получить код подтверждения для этих действий.
Есть ли способ использовать какие-либо из этих функций без использования системы электронной почты? Могу ли я каким-либо образом получить "код", необходимый для выполнения:
[confirmPasswordReset(code, newPassword)][3]
[checkActionCode(code)][2]
[applyActionCode(code)][1]
Если бы я мог каким-либо образом получить этот код, я мог бы использовать сочетание почтовой системы sparkpost и угловой страницы для проверки пользователя или изменения пароля в моем ионном приложении. Или я мог бы сделать конечную точку узла для выполнения этих операций.
Я действительно нуждаюсь в помощи.
1 ответ
Вы не можете получить код подтверждения через общедоступный API.
Но вы можете проверить учетные записи пользователей в коде на стороне сервера напрямую (без вызова checkActionCode
/applyActionCode
) с помощью Firebase Admin SDK для Node.js.
Из документации по обновлению пользователя:
updateUser()
Метод позволяет изменять данные существующего пользователя. Он принимаетuid
для пользователя, чтобы обновить, а также объект, содержащийUserRecord
Свойства для обновления:admin.auth().updateUser(uid, { email: "modifiedUser@example.com", emailVerified: true, password: "newPassword", displayName: "Jane Doe", photoURL: "http://www.example.com/12345678/photo.png", disabled: true }) .then(function(userRecord) { console.log("Successfully updated user", userRecord.toJSON()); }) .catch(function(error) { console.log("Error updating user:", error); });
При этом вы можете создать свой собственный механизм проверки, а затем просто обновить статус пользователя, как только вы закончите.