【问题标题】:Firebase communication with Google Apps ScriptFirebase 与 Google Apps 脚本的通信
【发布时间】:2017-07-15 00:06:10
【问题描述】:

我知道我们可以使用 Firebase 后端函数向 Google Apps 脚本发送 HTTP 请求并使用“doGet()”接收它。

但是,是否可以在不发送 HTTP 请求的情况下从 Firebase 调用 Google Apps 脚本函数(因为它是同一个 Google 帐户的一部分)?

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

【问题讨论】:

    标签: firebase google-apps-script


    【解决方案1】:

    缺少一些细节。但我认为您要求的是 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

    【讨论】:

    • 弗兰克,非常感谢您的回复和建议!我阅读了你的链接。 --> 我将启用 Firebase 登录选项(即“电子邮件和密码”)。澄清一下 - 有没有办法确保登录用户的 Firebase 应用程序对我的 Google Apps Script 网络应用程序执行 HTTP 请求? (我过去没有使用过 Execution API,这可能是答案)。正如我所提到的,目前,“猜测”正确的 URL 可以创建购买,并且我的 Web 应用程序目前已发布以供“任何人,甚至匿名”访问。再次提前感谢!
    • 解决方案是在这种情况下保护您的 Apps Script Web 应用程序。我从未尝试将 Firebase 身份验证凭据/令牌传递给应用程序脚本。您必须在 Apps 脚本端解码 Firebase 令牌/JWT,类似于 this sample does in Firebase Hosting。我自己从来没有这样做过,似乎不是它的样本,所以在那里帮不上忙。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-02
    • 1970-01-01
    • 2021-03-29
    • 1970-01-01
    相关资源
    最近更新 更多