Есть ли способ отправить электронное письмо с подтверждением на пользовательский идентификатор электронной почты (скажем, администратору) вместо идентификатора электронной почты пользователя с помощью Firebase Auth? - PullRequest
0 голосов
/ 20 марта 2020

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

Мне известно, что мы можем отправить подтверждение по электронной почте самому пользователю, чтобы подтвердить идентификатор электронной почты с помощью Firebase Auth. Мне было интересно, есть ли способ изменить адрес получателя с пользователя на идентификатор электронной почты администратора (пользовательский идентификатор электронной почты). Если нет, то есть ли другой способ выполнить эту задачу?

Заранее благодарю за помощь.

Я использую Cloud Firestore в качестве службы базы данных.

Ответы [ 3 ]

0 голосов
/ 20 марта 2020

Вы не можете изменить адрес электронной почты для подтверждения. Он всегда будет go на адрес электронной почты, который использовался во время регистрации.

Если ваша цель состоит в том, чтобы пользователь ничего не делал с каким-либо внутренним ресурсом до тех пор, пока администратор не авторизует его, что вы можете сделать сделать это использовать пользовательские утверждения, чтобы добавить флаг к учетной записи, который может быть проверен правилами безопасности или вашей конечной точкой бэкэнда. Наличие этого флага может использоваться, чтобы сказать, разрешил ли администратор их. Чтобы все это работало, вам придется создать некоторое количество серверной инфраструктуры.

0 голосов
/ 20 марта 2020

Насколько я помню, есть триггеры Firebase Authentication, которые вы можете использовать для прослушивания новых пользовательских произведений. Вам необходимо настроить функцию Firebase, которая прослушивает события создания пользователя.

functions.auth.user().onCreate((user) => {
  //send email to admin
}

Еще один шаг, который вы можете предпринять, это отключить вновь созданную учетную запись, а также отправить электронное письмо пользователю, а также сообщить ему, что его учетная запись отключено, пока администратор не утвердит его. Вы можете добиться этого, используя Firebase Admin SDK. И, возможно, создать еще одну облачную функцию, которую активирует администратор, чтобы вернуть учетную запись. Так что, может быть, что-то вроде этого:

functions.auth.user().onCreate((user) => {
  // disable this account
  // send user email to let him know that his account is disabled until approval
  // send email to admin to ask for his approval for the account
}

() {// another cloud function that enables the user account called by admin}

Возможно, это не лучшее решение, но оно будет работать.

0 голосов
/ 20 марта 2020

Вы можете использовать Облачные функции , чтобы узнать, когда пользователь был создан или удален.

Но если вы хотите получить электронное письмо только после его подтверждения, вам придется сделайте это внутри своего приложения, вызывая некоторые логи c, которые отправят вам сообщение из вашего приложения, как только вы обнаружите, что электронная почта подтверждена.

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