最近,我在我的移动应用程序中添加了几个新的可调用的防火墙云功能。稀释法是,一旦我部署并测试了我的函数,我就无法用UNAUTHENTICATED错误来调用它们。我重新部署了我的所有函数,仍然可以调用旧的函数,而新的函数在未经身份验证的情况下失败。我做了一些研究,人们都在谈论Node的版本。我升级了Node版本,但没有成功。我升级了firebase-函数版本和firebase-admin版本。不走运。
我试着浏览到我以前部署过的一个旧的可调用云函数的URL,它是可以的。然后,我尝试浏览到一个新部署的https可调用的防火墙云函数。我在浏览器中看到了这条消息:
您的客户端没有从此服务器获取URL /function_name 的权限.
你知道这是怎么回事吗?
谢谢
发布于 2020-06-16 18:44:53
好吧,这是我发现的。
截至2020年1月15日,
函数默认需要身份验证。您可以指定某个函数是否允许在部署时或部署之后进行未经身份验证的调用。
以下是你所做的工作:
1-浏览上述链接
2-找到“查看用户”部分,然后点击“转到Google控制台”按钮。

3-在打开的屏幕上,您将看到部署的云功能的列表。选择抛出UNAUTHENTICATED错误的那个。
单击显示在右侧窗格中的“添加成员”按钮。

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

5-在“新会员”框内键入所有用户。选择allUsers或allAuthenticatedUsers (尝试与两者一起查看哪一个适合您)

6-点击“拯救”
您现在应该能够调用firebase可调用的云函数了,而未经身份验证的错误应该消失了。
发布于 2022-02-05 03:53:31
我也遇到了同样的问题,对我起作用的是更改文件中函数的名称(当然也是调用函数的位置)并重新部署它,这会自动删除第一个函数。
编辑1:我刚刚又遇到了同样的问题,这次我没有重命名这个函数。我只在防火墙中手动删除了该功能,然后重新部署了它。这也很管用。
编辑2:我又一次遇到了同样的问题。然而,这一次我无法用上面的选择来修复它。我升级了我的防火墙工具,这个新版本(10.3.1)上的一些东西是相互冲突的。在我找出问题所在之前,我只是将firebase(以下为:https://stackoverflow.com/a/57262942/14608654)降级为10.2.2版本,错误就消失了。
发布于 2021-07-24 04:31:50
在我的例子中,我在自己的应用程序中写错了函数名。
final callable = _functions.httpsCallable('wrong function name in here');https://stackoverflow.com/questions/62415509
复制相似问题