我有一个使用Firestore和Cloud Functions的客户端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;
}
}
}
我对各种可用的身份验证选项感到困惑,并且无法通过最佳方式进行推理。
感觉接近的潜在选择:
答案 0 :(得分:3)
如果用户具有用户能够写入的文档的秘密URL 它,不需要任何其他类型的登录或身份验证。
只需设置数据库规则,即允许任何人在该特定网页上的JavaScript中指定的路径上读取和/或写入数据。也许只需在您的firebase <script>
标记后面的<script>
标记中将数据库读取或写入。
但是,正如您所说,访问该页面/ URL的任何人都将能够读取和/或写入该特定节点,字段或文档中的任何数据。
像这样编辑firestore.rules文件,为所有人/所有人启用读写。 See Documentation
service cloud.firestore {
match /databases/{database}/documents {
match /<some_path>/ {
allow read, write;
}
}
}