firebase - Firebase httpsCallable 与“允许未经身份验证”的云功能
问题描述
我有一些通过 httpsCallable 调用的 HTTP 函数。我注意到在 GCloud UI 中,它们以authentication: Allow unauthenticated
.
当您通过 httpsCallable 调用 HTTP 函数时,会自动包含用户身份验证令牌并为接收端解码。
我认为允许未经身份验证的函数调用一定是一件坏事,所以我从allUsers
组中删除了 IAM 策略,如此处所述,但是这样做我的应用程序停止工作,给我如下错误:
[错误] 预检响应不成功
[错误]由于访问控制检查,Fetch API 无法加载https://europe-west2-my-project-dev.cloudfunctions.net/someFunction 。
我是否需要允许所有用户调用我的函数,即使它们是由已经通过 Firebase 身份验证的用户使用 httpsCallable 调用的?
我觉得这很混乱,所以希望有人可以解决这个问题。
解决方案
Google Cloud Platform 的 IAM 访问控制不了解 Firebase 身份验证用户。
由于 Callable Cloud Functions 与 Firebase 身份验证的用户集成,您必须允许所有用户访问 GCP 基础架构级别才能使用它们。然后在您的 Cloud Functions 代码中,检查 Firebase 身份验证用户是否有权执行该操作。
我同意,如果您也可以锁定 GCP IAM 层中的 Firebase 身份验证用户组,那会很酷,但目前情况并非如此。
推荐阅读
- android - 如何基于 JSON 对象构建 ListView 并在 onItemClick 之后传递其数据
- javascript - 如何实现 IPC 渲染器以调整电子窗口的大小
- angular - 在角度 6 单元测试中找不到 [formGroup]
- php - Typo3 8.7.x / Extbase / Realurl:为生成的html页面添加前缀
- r - 提取数据框中的字符
- css - 如何让用户更改 Angular 应用程序的主题?
- python - 用于对网站进行身份验证、浏览链接和下载文件的 Python 代码
- java - 当我的键盘弹出时如何隐藏元素?
- spring-boot - 如何在 Kotlin 中使用 JPA ManyToMany 双向关系
- arrays - 找到总和等于给定总和的所有唯一对