我正在尝试将所有后端都存储在Firestore中。
每次用户登录时,我都希望更新lastConnectionDate
集合中的users
。
我的问题是所有这些数据都是通过Javascript发送的,因此是不安全的。我如何确定用户不会作弊并说他的lastConnectionDate是50年前?
使用“经典”后端,我只需添加当前后端日期,而无需用户提供。
如何使用Firebase / Firestore保护此过程?
答案 0 :(得分:1)
使用firebase函数设置lastConnectionDate。也许使用身份验证触发器
答案 1 :(得分:1)
在Firestore写入操作中,有一个特殊的FieldValue.serverTimestamp()
marker value用于设置服务器端日期。
在安全规则中,有一个特殊的request.time
variable,其中包含当前时间。
通过在安全规则中比较这两个值,可以验证写入的任何值都与服务器上的当前时间相同。