firebase - 新创建的 Firebase 函数引发 UNAUTHENTICATED 错误
问题描述
我有一个包含 10 多个云功能的 Firebase 项目。今天我又添加了 3 个,但是所有三个新的都抛出了一个错误 UNAUTHENTICATED 而没有真正尝试点击该函数。(日志中没有函数调用的记录)。自从添加了以前的功能后,我没有对我的环境或 Firebase 项目进行任何更改。
我已经尝试重新部署项目中的所有功能,三个最新的功能继续失败,而之前的功能正常。我还验证了我使用的是 Node 8,因为使用 Node 10 报告了一些类似的问题。我不确定还有什么可以尝试的,因为该问题仅适用于新功能。
新功能都具有相似的签名:
exports.createGroup = functions.https.onCall((data, context) => {
//Firestore access
});
他们被这样称呼:
const create = functions().httpsCallable('createGroup');
return create({ group: oGroup }).then(result => {
//Do something
}).catch(err => {
console.log(err.message); //UNAUTHENTICATED
});
节点版本:8.16.2
Firebase 工具版本:7.6.1
解决方案
通过谷歌云文档:
自 2020 年 1 月 15 日起,HTTP 函数默认需要身份验证。您可以指定函数是否允许在部署时或部署后进行未经身份验证的调用。
解决方案是利用 Google Cloud 控制台(不是 Firebase 控制台)为allUsers
新创建的函数添加权限。
推荐阅读
- python - Networkx:图中节点的标签
- tcp-keepalive - postgres hikari 池活动连接(+备用连接)在 Docker 中的启动请求 5-8 分钟后断开连接
- java - Keycloak 中的 Rest Template PUT 方法
- android - 我该如何解决这个问题)
- ruby-on-rails - gawd awesomel rails 3.0.0 bundler 无法加载此类文件 rubygems install insanity
- c# - 如何在运行时允许用户创建新的 Picturebox Visual Studio C# Windows Forms Apps
- php - 库的扩展名和二进制文件是什么意思?
- flutter - 当用户在 Flutter 中离开当前屏幕时调用函数
- ios - 相机沿x轴移动时如何限制SCNNode移动?
- javascript - 如何使用 JINJAVA 将 Java 字符串值或字符串列表传递给 javascript