记个 Firebase Cloud Function 在 App 调用的笔记

问题

我定义了几个 Firebase Cloud Functions,并 deploy 到了服务器

但是,每次在 iOS 等 App 里调用都会出现 UNAUTHENTICATED 或者 401 Unauthorized 的 error,反复查找

喷一句:Google Cloud 文档是一坨屎

概念疏理

  1. Firebase Cloud Function:它本质是部署在 Google Cloud 上的服务,这里就会出现几个新的概念 Cloud Run、Cloud Run function、IAM
  2. Cloud Run:在 Google Cloud 上运行 Container 的服务
  3. Cloud Run function:在 Google Cloud 上直接运行 Serverless function 的服务 👈 也是 Firebase Cloud Function 依赖的服务
  4. IAM:全名 Identity and Access Management,用来管理云服务 access control 和 permission 的服务(在云服务里都很常见)

问题归因

2024年5月3日创建的 Organization,Google Cloud 增加了一些安全规则,即

Note : If your organization was created on or after May 3, 2024, then the iam.allowedPolicyMemberDomains predefined constraint is enforced by default, with your domain listed as the only allowed value. 👉 LINK

而一个 cloud function invoker 默认是被限制在这个 constraint 里的,即无法设置 allUsers 或 allAuthenticatedUsers。即无法被设置为 publicly accessible,也就无法被 App 调用

再说清楚一点:

  1. Organization policy 自动开启了 iam.allowedPolicyMemberDomains 限制
  2. Project policy 默认 inherit Organization policy,所以也有限制
  3. Cloud Functions 默认要遵守这个 Project policy,因此无法被设置 Cloud Run Invoker permission 到 allUsers 或 allAuthenticatedUsers
  4. 无法被 App 正常调用

问题解决

  1. 在 Project policy 里 override iam.allowedPolicyMemberDomains 为 Allow All
  2. 在 Cloud Functions 上增加 Cloud Run Invoker permission 到 allUsers

当然, 这里是有点小风险的,后续要解决

AI Agent 能解决吗?

其实比较好的新 AI 工具 Grok 3、Claude 3.7 在思考中都已经把每一步可能的问题思考到了,并引导我去解决,但是:

  1. 互联网上这个问题被描述清楚的文章很少(Stackoverflow、GitHub)
  2. 官方 Google Cloud 文档一坨屎
  3. Google Cloud IAM 权限设置等都很复杂,得和 AI Agent 一步一步地一起解决(我会截图和它 confirm 对不对)

简言之,脑子、逻辑、知识储备都没问题,但会被已有互联网内容的缺失影响,以及功能这种非文本内容的知识要让 AI 怎么学会?

笔记结束:Google Cloud 这种"重"云服务在 AI 生成代码不断轻量简化的时代里大概率要被 Vercel、Bolt.new 取代,包括 Firebase 明显是个套壳怪,不是轻量化、AI 化的本质!

相关推荐
Frag0ut17 小时前
Chrome数据备份指南:本地备份还原书签密码与扩展配置工具
chrome·google·谷歌浏览器·数据同步·备份工具·配置迁移·书签密码备份
GlobalAIagent20 小时前
外贸站上线前的技术自查清单:漏一项询盘可能消失
google·typescript·ar·go语言·seo
知昂七昂1 天前
00-01:AOSP 源码仓库结构与 repo 工作流源码剖析(Android 16 / aosp-main)
android·google
Frag0ut4 天前
Chrome安全隐私设置指南:5个原生功能筑牢浏览器数字防线
chrome·google·谷歌浏览器·权限管理·隐私保护·安全设置·安全浏览
Frag0ut7 天前
Chrome Dev 最新功能更新:AI 智能体开发工具、HTML-in-Canvas 与双周更新节奏
chrome·google·dev·webmcp·最新功能·双周更新
Helix2508 天前
Chrome 性能优化实战:内存节省、硬件加速与 Flags 设置,让浏览器更流畅
chrome·google·性能优化·内存占用·硬件加速·设置技巧·浏览器优化
Helix2508 天前
Chrome 标签页管理术:分组、固定、搜索与恢复,告别标签页混乱
chrome·google·分组·标签页管理·固定标签·标签页恢复
Helix2509 天前
Chrome 快捷键效率提升:10 个常用快捷键,把浏览速度提升一个量级
chrome·google·浏览器·使用技巧·效率工具·快捷键·爆红教程
不老刘11 天前
Antigravity 应用登录/token 交换超时 · 排查速查笔记
google·antigravity·反重力
seowmt13 天前
结构化数据和自然语言描述哪个更管用?答案分场景
人工智能·google·typescript·go语言·schema