使用Firebase进行秘密URL身份验证

我有一个使用Firestore和云功能的客户端Web应用程序。

我想设置一些规则,如果用户具有用户可以写入的文档的秘密URL,而不需要任何其他类型的登录或身份验证。 像(伪代码,我刚刚request.params.secret_token ):

service cloud.firestore {
  match /databases/{database}/documents {
    match /cities/{city} {
      allow read, write: if resource.data.secret_token == request.params.secret_token;
    }
  }
}

我对可用的各种身份验证选项感到困惑,并且无法完全理解通过最佳方式。

感觉关闭的潜在选项:

  • 匿名身份验证可能需要,这可能会让我一个身份验证令牌。 据我所知,如果没有其中之一,我不能走得太远。
  • 使用自定义声明,但它表示您只能在服务器端安全地设置它们。
  • 使用自定义令牌,但是当我有预先存在的登录服务器组件时,这似乎更适用。

  • 如果用户具有用户能够写入的文档的秘密URL,而不需要任何其他类型的登录或身份验证。

    只需设置数据库规则,以允许任何人读取和/或写入该特定网页上JavaScript中指定路径的数据。 也许只需将数据库读取或写入到<script>标记中,然后在该页面中的firebase <script>标记之后。

    但是,正如你所说,访问该页面/ URL的任何人都可以读取和/或写入该特定节点,字段或文档中的任何数据。

    像这样编辑firestore.rules文件,以便为任何人/所有人启用读取写入。 请参阅文档。

    service cloud.firestore {
      match /databases/{database}/documents {
        match /<some_path>/ {
          allow read, write;
        }
      }
    }
    
    链接地址: http://www.djcxy.com/p/41427.html

    上一篇: Secret URL authentication with Firebase

    下一篇: What does "Thin Pool" in docker mean?