如何阻止用户使用 Firebase?我有他的设备令牌

问题描述 投票:0回答:1

因此,我构建了一个 Flutter 应用程序,它使用 Firebase 进行聊天消息存储,并使用 Firebase Cloud Messaging (FCM) 向登录用户发送消息。在开发过程中,我遇到过一种情况,特定用户不断登录并发送不相关的消息。我可以访问他们的设备令牌。我需要一种方法来阻止该用户登录、阅读消息和发送新消息,而不影响其他用户的访问。我尝试调整 Firestore 安全规则,但这影响了所有设备的登录能力。

rules_version = '2';

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth != null && request.auth.token.device_token != 'f25oOjQLS2mosRuCIUy2VM:APA91bEGHMhGHtKkA8GIQwE9EI96k0oTSzvCcM1qfrcEhMhsOGUw3R_cq7pyP7u3ru5hf9sVAKXbdMYJxJhajTeF0rG_5THBKQlnsx2_kfiDihUSWngQqY2Uf74RzVQDPnycnJYKwqv2';
    }
  }
}

我想阻止该用户访问我的应用程序。

firebase google-cloud-firestore firebase-authentication google-cloud-functions firebase-cloud-messaging
1个回答
0
投票

Firebase 身份验证用户与其使用您的应用的设备的 FCM 令牌之间没有隐式连接。如果您的用例需要这样的连接,您必须自己关联它们。

例如,您可以将 FCM 令牌作为自定义声明添加到用户的身份验证配置文件中,如有关使用自定义声明和安全规则控制访问的文档中所示。

© www.soinside.com 2019 - 2024. All rights reserved.