我有一个Firebase项目,我希望用户可以看到其他用户何时创建了他们的个人资料。我最初的希望是,我可以在前端使用“ user.metadata.creationTime”将日期传递到用户的额外信息文档中,并通过“ request.resource.data.datecreated == request.auth”来验证日期是否正确。 “ metadata.creationTime”作为数据库规则,但是根据documentation,这似乎是不可能的。
有什么办法可以验证后端的创建日期正确吗?
更多信息编辑:以下是用户在我的个人资料上创建新帐户时触发的代码。这三个值将公开显示。我正在创建一个用于销售的利基装备页面,因此在确定卖方是否粗略时,能够查看用户首次创建其帐户的时间可能会有所帮助。我不希望有人能够使他们看起来比他们待的时间更长。
extent
Firestore规则:
db.collection('users').doc(user.uid).set({
username: "Username-156135",
bio: "Add a bio",
created: user.metadata.creationTime
});
答案 0 :(得分:1)
SELECT value FROM counters WHERE counterID = 'inventory_record'
是没有文档格式的字符串。我建议不要使用它。实际上,您试图做的事情似乎是不可能的,因为API documentation中没有该值。
我建议您改为使用API documentation for request.auth和Cloud Functions来自动创建带有当前时间的文档作为适当的时间戳。然后,在安全规则中,我什至不给用户更改该字段的能力,因此您可以确保触发器仅能准确设置该字段。您可能对Firebase Auth onCreate trigger感兴趣。