Firestore规则使用Flutter客户端验证时间戳

创造者或可能不是

我想通过客户端发送Firestore文档创建时间,并使用Firestore Rules验证时间以避免Cloud Functions调用(定价)。

情境

我正在按照以下这样的Firestore规则测试来自客户端的请求:

allow create: if request.resource.data.TIMEFIELD == request.time;

该请求包含一个TIMEFIELD带有时间戳的,就像request.time

问题

显然,请求时间和我在发送请求之前立即设置为字段的时间是不相等的,这使得无法进行比较。

以下是request.time文档的定义

服务收到请求的时间。

我想知道是否可以在文档中设置等于的字段request.time

由于Flutter的问题,我无法使用服务器端时间戳
因此,我需要知道如何像time.nowFirestore Rules这样来验证客户端时间戳

创造者或可能不是

这已在Cloud Firestore的Flutter插件中实现:

FieldValue.serverTimestamp()

将其用作字段的值将为request.time服务器端分配一个等于该字段的时间戳

你可以找到更多关于它的API参考cloud_firestore

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Firestore:获取服务器时间戳值以进行客户端时间比较

firestore身份验证规则:适用于Google登录的客户端

使用纪元时间戳作为来自客户端的输入的Postgres数据查询?

如何获得从客户端发送的请求的时间戳?

BigQuery:NodeJS 客户端库时间戳错误

客户端验证无法使用 MongoDB

日期时间范围的ASP MVC 5客户端验证

Flutter Firestore服务器端时间戳

Flutter / Dart语言的客户端证书身份验证

如何指定作为 WS-Security 一部分的时间戳需要签名 + 修复客户端未使用 id xxx 签名时间戳的错误?

客户端验证和客户端表单验证

客户端验证和客户端表单验证

Bean验证客户端

客户端表单验证

ASP验证客户端

流利的验证,MVC:单击按钮时触发客户端规则集验证

不打扰的客户端验证规则中的验证类型名称必须包含

在客户端的 Postgres VS 中将列中的 UTC 时间戳转换为用户的时间

使用多个客户端证书的Nginx客户端身份验证

Firestore时间戳属性在管理SDK上带有下划线前缀,但在客户端SDK上没有前缀

Firestore - 如何在没有身份验证的情况下设置安全规则,但基于 Android 客户端/请求数据

使用 Firestore 触发器更新客户端状态

使用MVC进行客户端验证

如何使用JsonSchema进行实时客户端验证?

使用Vue 2进行客户端表单验证

在客户端使用JavaScript针对XSD验证XML

使用HttpClient进行客户端身份验证

使用POCO的客户端摘要身份验证

使用ASP.NET 5禁用客户端验证