#reactjs #firebase #firebase-authentication
#reactjs #firebase #firebase-аутентификация
Вопрос:
Я разрабатываю приложение react с серверной частью Firebase. Мое приложение позволяет администратору создавать учетную запись (компанию). Чтобы добавить пользователя в компанию, администратор вводит его имя и адрес электронной почты. Я бы хотел, чтобы добавленный пользователь получил электронное письмо с просьбой создать учетную запись, и они автоматически добавляются в компанию приглашающего.
Позволяет ли вам Firebase Auth это делать? какой может быть наилучший подход к достижению этого?
Спасибо.
Ответ №1:
https://firebase.google.com/docs/auth/custom-email-handler
https://firebase.google.com/docs/auth/web/email-link-auth
https://medium.com/firebase-developers/generating-email-action-links-with-the-firebase-admin-sdk-4b9d5e2cf914 я думаю, что эта ссылка поможет вам попытаться найти решение или написать более подробную информацию и поделиться некоторым кодом
Комментарии:
1. У меня нет проблем с аутентификацией firebase. они работают нормально. Администратор также может легко зарегистрироваться. Моя задача заключается в отправке приглашений пользователям с уже добавленными электронными письмами, поэтому все, что они будут делать, это устанавливать пароль. У меня нет никакого кода для этого, так как я не знаю, с чего начать.
2. Для отправки электронной почты из Firebase вы можете использовать облачную функцию ( firebase.google.com/docs/functions ) . Существует официальный образец по этой теме: github.com/firebase/functions-samples/tree/Node-8 /. …
3. Как сказал Мартин Цайтлер, вы можете использовать метод push() для генерации уникального токена и создания записи с соответствующим электронным письмом. Затем, когда новый пользователь пытается зарегистрироваться, вы можете проверить, соответствует ли его адрес электронной почты токену, прежде чем регистрировать его. Вы можете сделать это другими способами: снова с помощью облачных функций, например, с помощью облачной функции HTTPS
4. (см firebase.google.com/docs/functions/http-events ) или путем создания записи в базе данных, которая запускает облачную функцию (см. firebase.google.com/docs/functions/database-events ). В обоих случаях вы должны использовать Admin SDK для регистрации / создания пользователя, см. firebase.google.com/docs/reference/admin/node/admin.auth . Аутентификация и firebase.google.com/docs/auth/admin/manage-users#create_a_user
5. Например, у вас может быть форма, в которой вы просите приглашенного пользователя ввести свой адрес электронной почты и уникальный токен, который он получил (вы можете открыть и предварительно заполнить эту форму по ссылке, отправленной в электронном письме). Когда эта форма отправляется, она создает узел в базе данных реального времени, и создание этого узла запускает облачную функцию, которая: во-первых, проверяет, соответствуют ли токен и адрес электронной почты (и, вероятно, проверяет, что они не использовались ранее) и; Во-вторых, если предыдущая проверка в порядке, зарегистрирует (т.е. Создать) пользователя в вашем приложении Firebase.