【问题标题】:UNAUTHENTICATED error in firebase firestore https callable cloud functionsFirebase Firestore https 可调用云函数中出现未经验证的错误
【发布时间】:2020-10-06 11:25:04
【问题描述】:

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

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

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

有什么想法吗?

谢谢

【问题讨论】:

    标签: firebase google-cloud-firestore google-cloud-functions


    【解决方案1】:

    好的,这就是我找到的。

    根据本页:https://cloud.google.com/functions/docs/securing/managing-access-iam#allowing_unauthenticated_function_invocation

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

    这是你要做的:

    1- 浏览到上面的链接

    2- 找到“查看用户”部分并点击“转到 Google Cloud Console”按钮。

    3- 在打开的屏幕上,您将看到已部署的云功能列表。 选择引发 UNAUTHENTICATED 错误的那个。

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

    4- 选择 Cloud Functions Invoker 角色

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

    6- 点击“保存”

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

    【讨论】:

      【解决方案2】:

      在我的情况下,我在 Flutter 应用程序中写错了函数名称

      final callable = _functions.httpsCallable('wrong function name in here');
      

      【讨论】:

        猜你喜欢
        • 2019-09-30
        • 1970-01-01
        • 2020-03-14
        • 2021-12-05
        • 2020-11-24
        • 2020-07-07
        • 2021-12-28
        • 2020-02-03
        • 2020-11-24
        相关资源
        最近更新 更多