如何将 firebase 网络应用程序用户验证电子邮件发送到管理面板以供审核

How to send firebase web app user verification email to admin panel for review

我正在使用 firebase 服务开发网站。这是一个俱乐部的网站。这个网站并不适合所有人。只有俱乐部成员才能访问文件和其他成员的数据。因此,如果用户已在该网站注册并请求验证电子邮件,我需要将该电子邮件发送到管理面板电子邮件而不是用户。然后他们可以通过联系用户来审核请求,并在确认后转发电子邮件。有什么办法可以做到这一点吗?

在这种情况下,为所有成员创建用户帐户并授予访问权限不是很容易和实用(但可能),因为这个俱乐部已有 50 多年的历史并且有超过 5000 名成员可用而且他们都在工作在不同的国家。所以我们不能创建每个用户帐户,也不能让未经授权的人访问数据。

在您的 use-case 中将个人 actions/steps 分开很重要:

  1. 身份验证

    用户 signs-in 对您的应用进行 Firebase 身份验证。这将验证用户输入的凭据是 Firebase 身份验证(或社交身份提供者)为该用户存储的凭据。这只不过是让我证明我是弗兰克,并让你的应用程序的任何其他用户"impossible"证明这一点。

  2. 邮箱验证

    由于许多身份验证机制都是基于电子邮件地址和密码的组合,因此了解是否正确输入了电子邮件地址至关重要。通过Firebase Authentication的邮箱验证机制,可以确保用户可以访问他们输入的邮箱地址。

  3. 授权

    根据经过身份验证的用户,您可以授予对应用内其他资源的访问权限。这超出了 Firebase 身份验证的范围,并且取决于其他资源。

    例如,如果您使用 Firebase 实时数据库或 Cloud Firestore,您将使用这些数据库的安全规则来确保所有数据访问都获得授权。一个只允许 gmail 用户访问实时数据库中数据的简单示例,可以在我对这个问题的回答中找到:。如果您有一个允许所有用户使用的自定义域,这种方法就没有必要手动验证所有用户:您可以只允许来自您的自定义域的所有经过验证的电子邮件地址。

    如果您的特定场景允许用户输入任何域,您通常会有一个预定义的电子邮件地址列表。在这种情况下,请考虑将该列表存储在数据库中,并根据您的安全规则进行验证。 Cloud Firestore 的一个例子可以在我对这个问题的回答中找到: