如何从Firebas通信/触发Webtask?

时间:2016-11-11 15:24:02

标签: firebase task webhooks

在一个有趣的blogpost关于Firebase 3.0 SDK和Auth0集成'的Firebase身份验证中,声明:

  

您甚至可以让Firebase与Webtask进行通信!

现在我可以想象(网络)客户端会触发Firebase操作,然后是Webtask,但不是相反。或者我错过了什么?

1 个答案:

答案 0 :(得分:0)

  

Firebase可以作为无服务器应用运行,但也可以在服务器上运行。您甚至可以让Firebase与Webtask通信! (原文如此!)

我认为这一段是误导性的措辞,或许它只是在最后一刻加入以激发兴趣。您可以让Webtask与Firebase进行通信,而不是相反。您也不要在服务器上“运行Firebase”。

TL; DR:客户端应用程序可以使用HTTP请求调用webtask,该任务可以读取/写入数据库,但不能以任何其他顺序读取。

截至2016年11月,这是一个快速而肮脏的现实检查:

  • 实时数据库本身 为您提供了一种执行代码的方法。这包括响应数据库更改和用户请求,处理扇入和扇出操作等。也不支持webhook。
  • 这意味着您必须在自定义服务器上为此类逻辑提供自己的执行环境,或者您可以尝试尽可能多地填充客户端代码。 这本身就是一个非常详尽的话题。
  • Webtasks是响应HTTP请求的短期函数。它们的生命周期始终以请求开始,因此它们不适合持续观察数据库以进行更改。但它们对于处理来自客户端应用程序的请求完全有效。
  • 由于您可以为webtasks存储“机密”,因此您可以在 admin 访问级别上对任务进行身份验证。这使您可以验证客户端令牌 - 应该与请求一起发送 - ;执行复杂的授权和验证,并执行您不信任客户端的RTDB写入操作。 或者安全地触发外部服务。 可能性接近无穷无尽。