客户对 Cloud Firestore 数据库的访问权限将在 1 天后到期 [重复]

Posted

技术标签:

【中文标题】客户对 Cloud Firestore 数据库的访问权限将在 1 天后到期 [重复]【英文标题】:Client access to your Cloud Firestore database expiring in 1 day(s) [duplicate] 【发布时间】:2021-12-17 17:48:19 【问题描述】:

我正在制作一个 android 应用程序,在其中我从 firebase auth 对我的用户进行身份验证,并且只从 firestore 读取数据(直到现在)。

最近我收到一封来自 Firestore 的关于安全规则的电子邮件,我的数据是开放的等等...... 它是这样的:-

您选择在 测试模式 下开始开发,这会使您的 Cloud Firestore 数据库完全开放到 Internet。由于您的应用容易受到攻击者的攻击,因此您的 Firestore 安全规则已配置为在前 30 天后停止允许请求。 在 1 天内,所有客户端对您的 Firestore 数据库的请求都将被拒绝。在此之前,请编写强大的安全规则,让您的应用能够正常运行,同时适当保护您的数据。每天运行分析;如果您在过去 24 小时内修改了规则,则这些更改可能不会被考虑在内。

谁能告诉我如何才能摆脱这种情况,我也想将来将此应用上传到 Playstore。

提前致谢。

【问题讨论】:

【参考方案1】:

查看您的 Firebase 控制台中名为“规则”的部分(firestore 部分)。

如果您只从 firestore 读取数据,您可以通过此更改您的规则。它使firestore只读。

rules_version = '2';
service cloud.firestore 
  match /databases/database/documents 
    match /document=** 
      allow read: if true;
      allow write: if false;
    
  


否则,您可以将写入权限限制为经过身份验证的用户:

rules_version = '2';
service cloud.firestore 
  match /databases/database/documents 
    match /document=** 
      allow read: if true;
      allow write: if request.auth != null;
    
  


并将不同的规则设置为match 参数:

rules_version = '2';
service cloud.firestore 
  match /databases/database/documents 
    match /one_collection_name/document=** 
      allow read, write: if true;
    
    match /other_collection_name/document=** 
      allow read: if true;
      allow write: if request.auth.token.admin == true;
    
  


有多种可能性,如https://firebase.google.com/docs/firestore/security/get-started 中所述。

【讨论】:

我知道这些基本规则,但我的前辈告诉我,如果我只从 firestore 读取数据,那么即使我将规则更新为只读(即允许读取,如果是的),他还提到,如果我希望我的 Firestore 每次都能工作,那么我还必须执行创建和更新操作,否则如果我只从数据库中读取,那么 Firebase 会将我的项目假定为非活动项目并可能关闭客户端访问。这是真的吗?? 对不起@AmanSharma。我不知道,但我从来没有无限期地只读过 Firestore 项目

以上是关于客户对 Cloud Firestore 数据库的访问权限将在 1 天后到期 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 Cloud Functions 将文件上传到 Cloud Storage 并使用 Firestore 控制对 Cloud Storage 的访问?

某些设备上的 Cloud Firestore 连接速度很慢

使用 firebase_admin 或 google.cloud.firestore 在 python 中的 Firestore 客户端(作为用户)

如何使用 ReactJs 对 Cloud Firestore 数据进行分页

如何通过 Desc SwiftUI 对 Cloud Firestore 数据进行排序

Cloud Firestore-文档具有日期范围的日期范围查询