Javascript Firebase联合配置打开-Web应用程序

Javascript Firebase联合配置打开-Web应用程序,javascript,firebase,firebase-authentication,firebase-security,Javascript,Firebase,Firebase Authentication,Firebase Security,我正在为一个web应用程序使用firebase,包含Api密钥和其他凭据的配置已打开。我已经编写了防止写入数据库的规则,但我无法阻止它们注册,我已经将一些域列入了白名单,但除此之外,在创建用户时也可以访问这些域。我正在使用cordova将此web应用程序转换为android应用程序和ioS应用程序。有没有办法阻止用户注册。那么,您想允许一些用户注册,但不允许其他用户注册?我还假设你想使用谷歌的内置注册系统 第一种方法 实现这一点最快但可能最困难的方法是使用firebase函数提前将一组用户列入白

我正在为一个web应用程序使用firebase,包含Api密钥和其他凭据的配置已打开。我已经编写了防止写入数据库的规则,但我无法阻止它们注册,我已经将一些域列入了白名单,但除此之外,在创建用户时也可以访问这些域。我正在使用cordova将此web应用程序转换为android应用程序和ioS应用程序。有没有办法阻止用户注册。

那么,您想允许一些用户注册,但不允许其他用户注册?我还假设你想使用谷歌的内置注册系统

第一种方法

实现这一点最快但可能最困难的方法是使用firebase函数提前将一组用户列入白名单。Firebase函数可以捕获注册请求,如果它与您的白名单地址不匹配,只需忽略它即可

当然,您也可以使用它来执行各种其他功能,比如发送一个允许短时间注册的请求。任何可能通过javascript实现的功能

否则,您将无法创建自己的登录方法

我认为这是阻止他们注册的唯一办法

第二种方法

如果您希望允许注册但不允许访问数据库,则应该能够将规则设置为“auth=(uid)”,这将只允许那些uid写入

同样,firebase函数也可以实现相同的过程,方法是允许基于您的UID集进行写入等操作

另一种方法是firebase远程配置条件,以实现类似效果。(不过,我不建议这样做,因为它会创建不安全的客户端身份验证,或者检查身份验证的不必要步骤)

我使用的类似方法是允许完全访问数据库,但使用firebase函数防止删除。此方法允许用户具有完全访问权限,但我可以随时轻松更改他们写入、移动或删除节点的能力。本质上,如果firebase函数方法最适合您的情况,我可以更新响应以包含代码中的示例

第三种方法

firebase的一些用户改为使用数据库存储用户及其凭据及其配置文件数据。因此,当用户注册时,它将向数据库添加一个节点,通过简单的移动、删除或创建一个指示其权限的密钥,可以轻松地接受或拒绝该节点


祝firebase好运。它的特点往往有些隐蔽,很难找到。在youtube上观看完整的Google I/O演示可能会很有用,该演示详细地解释了其庞大的曲目。可以找到它。我强烈建议这样做,因为这有助于我更好地理解firebase的功能,以及(老实说)我应该使用firebase(但不是)的所有方式。

那么,你想允许一些用户注册,而不是其他用户?我还假设你想使用谷歌的内置注册系统

第一种方法

实现这一点最快但可能最困难的方法是使用firebase函数提前将一组用户列入白名单。Firebase函数可以捕获注册请求,如果它与您的白名单地址不匹配,只需忽略它即可

当然,您也可以使用它来执行各种其他功能,比如发送一个允许短时间注册的请求。任何可能通过javascript实现的功能

否则,您将无法创建自己的登录方法

我认为这是阻止他们注册的唯一办法

第二种方法

如果您希望允许注册但不允许访问数据库,则应该能够将规则设置为“auth=(uid)”,这将只允许那些uid写入

同样,firebase函数也可以实现相同的过程,方法是允许基于您的UID集进行写入等操作

另一种方法是firebase远程配置条件,以实现类似效果。(不过,我不建议这样做,因为它会创建不安全的客户端身份验证,或者检查身份验证的不必要步骤)

我使用的类似方法是允许完全访问数据库,但使用firebase函数防止删除。此方法允许用户具有完全访问权限,但我可以随时轻松更改他们写入、移动或删除节点的能力。本质上,如果firebase函数方法最适合您的情况,我可以更新响应以包含代码中的示例

第三种方法

firebase的一些用户改为使用数据库存储用户及其凭据及其配置文件数据。因此,当用户注册时,它将向数据库添加一个节点,通过简单的移动、删除或创建一个指示其权限的密钥,可以轻松地接受或拒绝该节点


祝firebase好运。它的特点往往有些隐蔽,很难找到。在youtube上观看完整的Google I/O演示可能会很有用,该演示详细地解释了其庞大的曲目。可以找到它。我强烈建议这样做,因为这有助于我更好地理解firebase的功能和(说实话)我应该使用的所有方法(但不是)。

如果您需要对用户注册进行绝对控制,我认为您应该使用
自定义身份验证
。这样,用户就不会直接注册到您的firebase实例上,但您将为注册和登录过程提供单独的服务器API

当用户登录时(也通过您的服务器API),您可以向她/他颁发一个
自定义身份验证令牌
,他们可以使用该令牌对Firebase上的数据进行身份验证和访问。您可以阅读有关自定义身份验证的更多信息

你可以