【发布时间】:2017-09-13 20:47:59
【问题描述】:
我需要获取 firebase 数据库服务器的实际时间戳,而不是占位符 firebase.database.ServerValue.TIMESTAMP。
为了避免XY问题,我将提供我的两个用例:
a) 我使用云功能和 JWT 创建了自己的重置密码系统。用户请求重设密码。我签署了一个包含他们的用户名和当前时间戳的对象(当前使用 Date.now()),并将其嵌入到他们电子邮件的链接中。当他们打开链接时,我需要验证 JWT 并将其与存储在 firebase 数据库中uid 下的时间戳进行比较。我还更新了数据库中的时间戳,因此下次他们尝试使用相同的令牌时,它会显示为已过期(即使我为令牌设置的 1 小时过期未通过)。在这里使用 Date.now() 足够了吗?如何将当前的 firebase 时间传递给jwt.sign()。
b) 我需要在数据库中存储所有帖子的 creationTimestamp 的否定版本,以便进行排序。 -firebase.database.ServerValue.TIMESTAMP 不起作用。这样做的正确方法是什么?
【问题讨论】:
标签: firebase firebase-realtime-database google-cloud-functions