Firebase 从服务器截取数据更改并更改/验证

Firebase 从服务器截取数据更改并更改/验证,firebase,Firebase,我正在开发一个解决方案,从node.js服务器截取对数据的更改,并在将这些更改存储/同步到其他客户端之前对其进行验证/更改 关于如何用当前代码库解决这个问题,有什么策略或建议吗 目前,唯一的选择似乎是在同步操作后重写它。这意味着每个客户端都可能接收到同步(包括服务器),然后服务器将重写数据并触发第二次同步 为了帮助理解问题的背景,以下是一个适合我需求的理想策略: 服务器获取客户端不可用的特殊令牌/密钥(当出现安全性时) 服务器注册依赖项注入,如firebase.child('widgets')

我正在开发一个解决方案,从node.js服务器截取对数据的更改,并在将这些更改存储/同步到其他客户端之前对其进行验证/更改

关于如何用当前代码库解决这个问题,有什么策略或建议吗

目前,唯一的选择似乎是在同步操作后重写它。这意味着每个客户端都可能接收到同步(包括服务器),然后服务器将重写数据并触发第二次同步

为了帮助理解问题的背景,以下是一个适合我需求的理想策略:

  • 服务器获取客户端不可用的特殊令牌/密钥(当出现安全性时)
  • 服务器注册依赖项注入,如
    firebase.child('widgets')。beforeSync(myCallback)
  • 客户端同步数据
  • 通知服务器回调
  • 服务器修改或验证数据
  • 如果有效,它会将其返回给firebase进行同步操作
  • 如果无效,则中止同步,并返回一个错误给客户端

    • 谢谢分享您的想法

      我们已经考虑过这种方法。实际上,您可以通过结构化数据来模拟这种行为,这样就有一个“未验证”树和一个“已验证”树

      “未验证”树将可由客户端写入,服务器将监视其更改。当发生更改时,它将验证数据,如果数据通过,它将把数据复制到“已验证”树中,该树只能由服务器写入。验证失败时,您也可以通过Firebase数据将错误传递回客户端


      此行为可以打包到提供您所描述的行为的库中。我们也可以将其作为核心功能添加,但我们仍在研究各种选项

      安德鲁,谢谢你花时间回复。我很乐意帮助开发一个作为第三方或核心组件的库。(顺便说一句,你们这些绅士应该考虑一下即将推出的功能!)如果你想开放你现在正在构建的验证部分的源代码,我相信很多其他人都会喜欢它,我们会在时间允许的情况下帮助这个项目。否则,请在Twitter上关注我们(我们是@Firebase),当我们在这里找到一些解决方案时,我们会发布tweet。谢谢你给我关于特雷罗的提示。我们的一位同事曾经在Fog Creek工作:)我们已经收到了很多关于这方面的请求,并将想出一些方法让社区了解我们的路线图。或者,就像parse一样,让我们在服务器端用js/lua编写代码?