Как отправить электронное письмо с подтверждением пользователя веб-приложения Firebase на панель администратора для проверки - PullRequest
0 голосов
/ 25 мая 2019

Я занимаюсь разработкой сайта с использованием сервисов Firebase.Это сайт для клуба.Этот сайт не для всех.Только члены клуба должны иметь доступ к файлам и данным других членов.Поэтому, если пользователь зарегистрировался на этом веб-сайте и запросил подтверждение по электронной почте, мне нужно отправить это письмо на адрес панели администратора, а не пользователю.Затем они могут рассмотреть запрос, связавшись с пользователем и переслать письмо после подтверждения.Есть ли способ, которым я могу это сделать?

Создание учетной записи пользователя для всех членов и предоставление доступа не очень легко и практично (но возможно) в этой ситуации, потому что этому клубу более 50 лет, и есть большедоступно более 5000 членов, и все они работают в разных странах.Таким образом, мы не можем создать каждую учетную запись пользователя и не можем позволить неавторизованным людям получать доступ к данным.

1 Ответ

0 голосов
/ 26 мая 2019

Важно, чтобы отдельные действия / шаги были отдельными в вашем сценарии использования:

  1. Аутентификация

    Пользователь выполняет вход в Firebase Authentication для вашего приложения. Это подтверждает, что учетные данные, которые вводит пользователь, - это то, что Firebase Authentication (или провайдер социальной идентификации) хранит для этого пользователя. Это не более чем позволяет мне доказать, что я Фрэнк, и делает невозможным для любого другого пользователя вашего приложения это доказать.

  2. подтверждение по электронной почте

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

  3. авторизация

    На основе аутентифицированного пользователя вы можете предоставить доступ к другим ресурсам в вашем приложении. Это выходит за рамки проверки подлинности Firebase и зависит от этих других ресурсов.

    Например, если вы используете базу данных Firebase Realtime или Cloud Firestore, вы будете использовать правила безопасности этих баз данных, чтобы обеспечить авторизацию доступа ко всем данным. Простой пример того, как разрешить пользователям gmail доступ к данным в базе данных реального времени, можно найти в моем ответе на этот вопрос: Как заблокировать базу данных Firebase для любого пользователя из определенного (почтового) домена?, Если у вас есть пользовательский домен для всех пользователей, которых вы хотите разрешить, при таком подходе нет необходимости проверять их всех вручную: вы можете просто разрешить все проверенные адреса электронной почты из своего пользовательского домена.

    Если ваш конкретный сценарий позволяет пользователям входить в любой домен, у вас, как правило, будет заранее определенный список адресов электронной почты. В этом случае рассмотрите возможность сохранения этого списка в базе данных и проверки этого в ваших правилах безопасности. Пример этого для Cloud Firestore можно найти в моем ответе на этот вопрос: Запретить создание учетной записи пользователя при входе по электронной почте в firestore

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