Firebase 功能:保护 Firebase https 功能

Hix*_*eld 5 firebase google-cloud-functions

如何保护使用 Firebase 函数实现的 HTTPS 调用?如果黑客知道 URL,他可以轻松调用它。有没有像 api 密钥、应用程序机密这样的系统来确保安全?需要考虑哪些风险?

Ren*_*nec 6

根据您的评论更新。

如果您需要将您的 Cloud Functions 访问权限限制为经过身份验证的用户:

GitHub 上的官方 Cloud Function 示例集中有一个示例,其中“展示了如何将 HTTPS 函数限制为仅适用于您应用的 Firebase 用户”。这是链接:https : //github.com/firebase/functions-samples/tree/master/authorized-https-endpoint

此外,Firebase 最近发布了新的HTTPS Callable函数,它“类似于其他 HTTP 函数,具有 [一些] 附加功能,...... [包括] ... Firebase 身份验证。这是文档的链接:https: //firebase.google.com/docs/functions/callable


如果您只想“基于 api 密钥或秘密(在应用程序中硬编码)”来“保护”您的云函数,因为它们“应该在没有任何用户登录的情况下被调用”:

由于您可以访问requestCloud Function 中的 HTTPS对象,因此您可以将任何“秘密值”或“api 密钥”添加到标头(或在 POST 的情况下添加到正文)并在函数中读取。但是,如果您需要撤销机制,则由您来实现。


最后,我建议您阅读 Firebase 团队的 Doug Stevenson 最近的回答:您如何让 Google Cloud Functions 仅在从某些 URL 进行 ping 操作时才起作用?