仅允许 Firebase 云函数通过托管重写
Only allow Firebase cloud functions through hosting rewrites
TLDR/My 问题: 有没有办法为 Firebase 函数禁用自动生成的端点?
我已按照有关该域模式(我有 DNS 控制权)的说明 here so that my Firebase functions are available at custom endpoints (e.g. mydomain.com/api/function1
). I then went ahead and successfully configured an API rate limiter with Cloudflare 进行操作,并验证它是否按预期正常工作。
给我留下的唯一问题是 Firebase 自动为我的函数(例如 us-central1-my-hosting-project.cloudfunctions.net/function1
)提供的默认值 URL 仍然不受保护。
您想更改“Cloud Functions Invoker”权限。
现在,它可能会说
“allUsers”和“allAuthenticatedUsers”
Firebase 不显示此信息 - 但如果您:
- 转到 GCP 控制台中的主 Cloud Functions 菜单。(console.cloud.google.com/functions)
- Select您要调整权限的功能左侧的复选框。
- 看向屏幕右侧,当您选中复选框时,您会看到一些权限。
- 在role/member下查找,您将看到“Cloud Functions Invoker”;我这里说的是“allUsers”(我不能 post 图片但是,相信我,它很棒)。
- 您可以删除此行 - 它会使函数成为非public。
- 您必须允许某些东西调用该函数才能运行(服务帐户等)。
您将无法使用 GCP 工具执行此操作,至少目前是这样。
您可以做的替代方法是检查您的请求 Host header,如果它没有提供您的自定义域,return 就会出错。
你应该可以通过Request.hostname
得到host header
TLDR/My 问题: 有没有办法为 Firebase 函数禁用自动生成的端点?
我已按照有关该域模式(我有 DNS 控制权)的说明 here so that my Firebase functions are available at custom endpoints (e.g. mydomain.com/api/function1
). I then went ahead and successfully configured an API rate limiter with Cloudflare 进行操作,并验证它是否按预期正常工作。
给我留下的唯一问题是 Firebase 自动为我的函数(例如 us-central1-my-hosting-project.cloudfunctions.net/function1
)提供的默认值 URL 仍然不受保护。
您想更改“Cloud Functions Invoker”权限。
现在,它可能会说
“allUsers”和“allAuthenticatedUsers”
Firebase 不显示此信息 - 但如果您:
- 转到 GCP 控制台中的主 Cloud Functions 菜单。(console.cloud.google.com/functions)
- Select您要调整权限的功能左侧的复选框。
- 看向屏幕右侧,当您选中复选框时,您会看到一些权限。
- 在role/member下查找,您将看到“Cloud Functions Invoker”;我这里说的是“allUsers”(我不能 post 图片但是,相信我,它很棒)。
- 您可以删除此行 - 它会使函数成为非public。
- 您必须允许某些东西调用该函数才能运行(服务帐户等)。
您将无法使用 GCP 工具执行此操作,至少目前是这样。
您可以做的替代方法是检查您的请求 Host header,如果它没有提供您的自定义域,return 就会出错。
你应该可以通过Request.hostname