Ale*_*494 9 firebase google-cloud-functions
我刚刚制作了一个firebase云功能:
exports.deleteAfterSevenDays = functions.https.onRequest((req, res) => {...
Run Code Online (Sandbox Code Playgroud)
我部署了该函数并获得了一个函数URL.当我从浏览器请求此URL时,我收到以下消息:
"错误:禁止您的客户端无权从此服务器获取URL/200."
我刚刚更新到firebase Blaze计划,因为我认为Spark计划有局限性,但它仍然无效.
在我的firebase云功能日志中写着"函数执行花了572毫秒,完成状态代码:302".
我的cron作业"由于执行失败太多而自动被禁用".
你看到了什么问题吗?
谢谢,
亚历克斯
小智 79
云函数应该具有名为“所有用户”的成员的角色,以便从任何地方/任何人调用此函数,而无需考虑授权。
未经授权:
有授权:
在您的云功能上设置授权始终是一个好习惯
注意:云函数抛出错误“403 Forbidden - Your client does not have permission to get URL”应该由授权用户调用。
简单测试:
单击顶部的 Cloud shell(icon) 终端
类型 - gcloud auth 打印身份令牌
复制生成的令牌
形成调用云函数时传递的授权密钥 4.1 授权:bearergenerated_token
调用您的云功能时使用上述授权密钥
笔记:
Jon*_*han 51
需要明确的是:
https://console.cloud.google.com/functions/details/us-central1/ssr
allUsersCloud Functions Invoker完毕。
J
小智 30
来自云函数文档:
注意:使用低于 7.7.0 版本的任何 Firebase CLI 部署的新 HTTP 和 HTTP 可调用函数默认是私有的,并且在调用时会抛出 HTTP 403 错误。明确公开这些函数,或者在部署任何新函数之前更新 Firebase CLI。
就我而言,CLI 版本已过时。如果您当前收到 403 错误,请尝试以下操作:
npm install -g firebase-toolsKal*_*y S 15
以下是步骤
如果您在 2020 年遇到这种情况,也可能是由于不同的访问行为:
注意:自 2020 年 1 月 15 日起,HTTP 功能默认需要身份验证。您可以指定函数在部署时或部署后是否允许未经身份验证的调用。
这可能有点牵强,但如果您中断了云函数部署,然后重新部署了该函数(这会导致错误),然后成功地重新部署了该函数,则可能会导致问题。
我正在尝试重现,但简单地删除 firebase 控制台中的功能并重新部署对我有用。
小智 8
将目标云函数的 IAM 角色(云函数调用者)更改为allUsers应该可以解决此问题。https://console.cloud.google.com/functions
gcloud auth print-identity-tokenOAuth 2.0注意:您可以对单个请求或文件夹执行相同的操作。
| 归档时间: |
|
| 查看次数: |
4621 次 |
| 最近记录: |