如何阻止 HTTP onRequest Gen 2 Firebase 函数部署为“允许未经身份验证”?

问题描述 投票:0回答:1

默认情况下,所有 Firebase 函数 HTTP 请求都是公开可用的。如果您检查 Google Cloud Functions Console,它们将显示为“允许未经身份验证”,因为它们使用

roles/run.invoker
角色进行部署。

我想在没有此功能的情况下部署 HTTP onRequest Firebase 函数(第 2 代)。我不希望它默认公开,因为我将它用作 Google API 网关后面的 pingback 端点。

注意:我已经在这里提出了另一个问题,关于如何在部署后使用 CLI 删除公共访问权限。这个问题是不同的,因为现在我问的是如何在部署过程中首先阻止它发生。

firebase google-cloud-functions
1个回答
0
投票

您接受的答案是“Firebase CLI 无法做到这一点。”如果您想使用 Firebase CLI,答案仍然是这样。

您尝试做的事情不是 Firebase CLI 涵盖的用例。如果您绝对要求部署默认情况下不公开(或者您想在命令行上指定访问权限),则根本无法使用 Firebase 工具。您将需要使用通过 gcloud 部署的普通 GCP Cloud Functions。这意味着您将无法使用 firebase-functions 模块定义的 API 来定义函数。

您可以自由地向 Firebase 支持 提交功能请求,以添加对您的用例的支持,但我不希望很快实现这一点,因为大多数 Firebase 应用程序开发人员都会构建由其前端调用的函数(其中当然需要公共访问)。

© www.soinside.com 2019 - 2024. All rights reserved.