我刚刚做了一个 firebase 云函数:
exports.deleteAfterSevenDays = functions.https.onRequest((req, res) => {...
我部署了该函数并获得了一个函数 URL。当我从浏览器请求此网址时,我收到以下消息:
“错误:禁止您的客户端无权获取 URL /200
来自该服务器。”
我刚刚更新到 firebase Blaze 计划,因为我认为 Spark 计划存在局限性,但它仍然不起作用。
在我的 Firebase 云函数日志中,写着“函数执行花费了 572 毫秒,完成状态代码:302”。
我的 cron 作业“由于执行失败太多而被自动禁用”。
你看出什么问题了吗?
云函数应该具有一个名为“所有用户”的成员角色,以便从任何地方/任何人调用此函数,无论授权如何。
未经授权:
- 进入云功能选项卡
- 选择您的云功能(复选框)
- 单击右侧“权限”选项卡下的“添加成员”
- 在“新成员”下输入“所有用户”
- 选择角色为“云函数 -> 云函数调用者”
- Save
- 只需将其粘贴到浏览器中即可测试您的云功能
经授权:
在云函数上设置授权始终是一个好习惯
注意:云函数抛出错误“403 Forbidden - 您的客户端无权获取 URL”应由授权用户调用。
简单测试:
-
单击顶部的 Cloud shell(图标)终端页面的
-
type: gcloud auth print-identity-token
-
复制生成的令牌
-
形成调用云函数时要传递的授权密钥
4.1 Authorization: bearer generated_token
-
调用云函数时使用上述授权密钥
Note:
- 永远不要让所有用户都可以使用云功能
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)