当用户信息在另一台服务器上时编写 Firebase 数据库规则

Writing Firebase database rules when user information are on another server

我需要为一个与我自己的服务器对话的移动应用程序实现聊天,所以注册用户信息在我自己的服务器上。所以,如果我使用 firebase 实时数据库进行聊天,我该如何编写这样的安全规则:

".read": "auth != null", ".write": "auth != null"

所以场景是,我的用户信息在我自己的服务器上,在我自己的数据库里。我想用firebase实现聊天

如何编写防止任何人从数据库中读取消息的数据库规则(可能是通过点击 URL?)

您的场景正是 Firebase Custom Authentication 为之而生的场景。

在您的服务器上,您根据您自己的用户数据库对您的用户进行身份验证,然后您创建一个 JSON Web 令牌,其中包含您希望 Firebase 知道的有关该用户的信息。令牌至少应包含 uid,但它可能包含更多信息,您随后可以在安全规则中访问这些信息。创建 JWT 后,return 将其提供给您的用户。

然后在您的应用中使用 JWT 登录 Firebase。例如,在 Android 上,您将 call the FirebaseAuth.signInWithCustomToken() method.

有关详细信息,请参阅 Firebase Database Server documentation