You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase云函数权限配置:移除allUsers后遇CORS问题求助

Firebase云函数权限配置解决方案

是否应保留allUsers权限?

绝对不建议保留allUsers权限。即便你已经在函数内做了Firebase Auth和App Check校验,开放全用户权限会让恶意攻击者无门槛发起请求——哪怕这些请求通不过业务校验,大量无效请求也会占用函数资源,直接导致账单激增。

替代权限配置方案

针对onCall类型的云函数,正确的权限配置步骤如下:

  1. 移除allUsers权限
  2. 为云函数添加cloudfunctions.invoker权限,授权给以下主体:
    • firebase-authenticated-users:该主体代表所有通过Firebase Auth完成认证的用户,只有携带合法ID Token的请求才能触发函数
  3. 配合已启用的App Check,在Firebase控制台的云函数设置中开启强制App Check验证,确保只有通过App Check校验的请求才能进入函数的Auth校验环节

关于CORS错误的说明

移除allUsers后出现的CORS错误,本质是权限拦截返回的403被浏览器误解析为跨域问题。配置上述正确权限后,合法请求能正常通过权限校验,CORS问题会自动消失。

额外安全保障

继续保留函数内的校验逻辑:

  • 检查context.auth对象,确保调用者是已认证的合法用户
  • 通过context.app对象验证App Check令牌的有效性,双重保障请求合法性

内容的提问来源于stack exchange,提问作者Dani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 15:05:59