与Google Apps脚本的Firebase通信

问题描述:

我知道我们可以使用Firebase后端功能向Google Apps脚本发送HTTP请求,并使用“doGet()”接收该请求。与Google Apps脚本的Firebase通信

但是,是否可以从Firebase调用Google Apps脚本功能而不发送HTTP请求(因为它是同一Google帐户的一部分)?

我担心的是安全问题,人们可能会猜测/嗅探正确的URL /参数,然后执行Google Apps脚本功能(进行购买)。或者,可能有适当的方法来保护GAS网络应用程序。

缺少一些细节。但我认为您所要求的Google Cloud Functions/Cloud Functions for Firebase可以调用Apps Script web appApps Script REST API。答案是,他们确实可以调用这些URL(如果它们可以公开访问并落入您的配额)。

但这并不比任何浏览器可以调用这些URL更安全的风险。安全性不应该来自知道或能够调用URL。如果你想保护一个API,你应该对它实施适当的安全性。更多详情请参阅Authorization for Google Services in Apps SCript

+0

弗兰克,非常感谢你的回应和建议!我通读了你的链接。 - >我将启用Firebase登录选项(即“电子邮件和密码”)。澄清 - 有没有一种方法可以确保仅登录用户的Firebase应用程序对我的Google Apps脚本网络应用程序执行HTTP请求? (我过去没有使用Execution API,这可能是答案)。正如我所提到的,目前,“猜测”正确的URL可以创建购买,而我的Web应用程序目前已发布,可供“任何人,甚至匿名”访问。提前再次感谢! –

+1

解决方案是保护您的Apps脚本Web应用程序在这种情况下。我从未尝试将Firebase身份验证凭据/令牌传递给应用程序脚本。您必须在Apps脚本端解码Firebase令牌/ JWT,与[此示例在Firebase Hosting中执行的操作类似](https://github.com/firebase/functions-samples/tree/master/authorized-https) -endpoint)。我自己从来没有这样做过,似乎不是一个样本,所以不能在那里帮忙。 –