部署的Firebase功能返回403

时间:2019-08-05 23:24:53

标签: firebase url-rewriting google-cloud-firestore http-status-code-403

我有一个在/getshared下工作的Firebase函数firebase serve。但是,已部署的功能在网络浏览器中给了我这个错误:

Error: Forbidden
Your client does not have permission to get URL /getshared/getshared from this server.

请注意,错误消息中的/getshared已加倍。

另一个功能既可以在本地使用,也可以部署。

我试图猜测出什么问题了,但是我看不到这两个函数之间有任何明显的区别。我不确定重写规则,但对此有些怀疑,但是firebase.json中的重写规则看起来很相似:

    "rewrites": [
        {
            "source": "/getshared",
            "function": "getshared"
        }

有什么建议可以帮助我找出问题所在?


有一个讨论区域和403的问题,但我认为它不适用。我只是在Web浏览器中查看。但是我不明白这一点,所以不确定:

https://github.com/firebase/firebase-tools/issues/842


EDIT1

在(上面)问了明显不对的地方后,我按照道格S的建议努力解决问题。

因此,我首先使用无效的功能复制了文件,将其重命名并在index.jsfirebase.json中添加了必要的条目。令我惊讶的是,复制的功能起作用了。

因此,我回到了原始功能并尝试了一些重命名。事实证明,将在index.js中导出的函数从getshared重命名为getshared1使得一切正常。这是使事情正常进行的唯一更改(在index.js中):

// exports.getshared = sharedEdit.getShared;
exports.getshared1 = sharedEdit.getShared;

当然还有firebase.json中的相应名称更改:

            "source": "/getshared",
            "function": "getshared1"

我正在为此项目使用VS Code。我已经在整个项目中搜索了“ getshared”,但找不到任何可疑的东西。 (嗯,搜索是否排除了某些内容?)

目前,我猜测这是Firebase中的问题。但我不确定。

0 个答案:

没有答案