firebase firestore https 可调用云函数中出现未经身份验证的错误

Sof*_*ory 4 firebase google-cloud-functions google-cloud-firestore

最近,我向我的移动应用程序添加了几个新的可调用 firebase 云函数。问题是,一旦我部署并测试了我的函数,我就无法调用它们,失败的原因是身份验证的错误。我重新部署了所有功能,但仍然可以调用旧功能,而新功能因未经身份验证而失败。我做了一些研究,人们正在谈论 Node.js 的版本。我升级了Node版本,但没有成功。我升级了 firebase-functions 版本和 firebase-admin 版本。没有运气。

我尝试浏览到我之前部署过的旧可调用云函数之一的 URL,结果没问题。然后我尝试浏览到新部署的 https 可调用 firebase 云函数。我在浏览器中看到了这条消息:

您的客户端无权从此服务器获取 URL / function_name 。

有什么想法吗?

谢谢

Sof*_*ory 6

好的,这是我发现的。

根据此页面:https : //cloud.google.com/functions/docs/secure/managing-access-iam#allowing_unauthenticated_function_inspiration

自2020年1月15日起,HTTP功能默认需要身份验证。您可以指定函数是否允许在部署时或部署后进行未经身份验证的调用。

这是你要做的:

1-浏览至上面的链接

2- 找到“查看用户”部分,然后单击“转到 Google Cloud Console”按钮。

在此输入图像描述

3- 在打开的屏幕上,您将看到已部署的云功能的列表。选择抛出UAUTHENTICATED的那个。

单击右侧窗格中显示的“添加成员”按钮。

在此输入图像描述

4-选择云函数调用者角色

在此输入图像描述

5- 在“新成员”框中输入 allusers。选择 allUsers 或 allAuthenticatedUsers(尝试同时使用两者,看看哪一个适合您)

在此输入图像描述

6-点击“保存”

您现在应该能够调用您的 firebase https 可调用云函数,并且 UNAUTHENTICATED 错误应该消失。