相关疑难解决方法(0)

如何保护firebase云功能HTTP端点仅允许Firebase经过身份验证的用户?

使用新的firebase云功能,我决定将我的一些HTTP端点移动到firebase.一切都很好......但我有以下问题.我有两个端点由HTTP触发器(云功能)构建

  1. 用于创建用户并返回Firebase Admin SDK生成的自定义令牌的API端点.
  2. 用于获取特定用户详细信息的API端点.

虽然第一个端点很好,但对于我的第二个端点,我希望仅为经过身份验证的用户保护它.意思是拥有我之前生成的令牌的人.

我该如何解决这个问题?

我知道我们可以使用云函数获取Header参数

request.get('x-myheader')
Run Code Online (Sandbox Code Playgroud)

但有没有办法保护端点就像保护实时数据库一样?

firebase firebase-security firebase-authentication firebase-realtime-database google-cloud-functions

104
推荐指数
4
解决办法
4万
查看次数

Firebase云功能:onRequest和onCall之间的区别

通过文档,我遇到了:

...您可以直接使用HTTP请求或来自客户端调用来调用函数.

来源

那里(引用中的链接)是一个提及functions.https.onCall.

但是在这里的教程中,使用了另一个函数functions.https.onRequest,我应该使用哪个函数?为什么?它们之间有什么区别/相似之处?

文档functions.https在这里.

firebase google-cloud-functions

26
推荐指数
2
解决办法
7869
查看次数

VS Code中的函数调试

VS Code集成终端我运行firebase serve --only functions,hosting 然后在调试选项卡中我创建了默认的launch.json:

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Launch Program",
      "program": "${file}"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我想调试服务器端(functions/index.js)而不是客户端.

我从https://code.visualstudio.com/docs/nodejs/nodejs-debugging尝试了一些配置而没有运气.

如何在VS Code中调试Firebase功能?

debugging firebase visual-studio-code google-cloud-functions

16
推荐指数
2
解决办法
4392
查看次数

调用 Firebase 的 `.onCall()` 方法时如何防止“错误请求”?

我刚刚升级到使用 Firebase Cloud Functions v1.x。根据这个答案

可调用函数与 HTTP 函数完全相同

考虑到这一点,我尝试转换我的 pre-1.x 模拟代码:

export const myHttpAction = functions.https.onRequest((req, res) => {
  try {
    const result = await myHttpActionWorker(req.body);
    return res.send({ status: 'OK' });
  } catch (err) {
    console.error(err);
    return res.status(500).send({ status: 'Server error' });
  }
});
Run Code Online (Sandbox Code Playgroud)

到以下几点:

export const myHttpAction = functions.https.onCall(async (data, context) => {
  console.log(context.auth);
  try {
    const result = await myHttpActionWorker(data);
    return { status: 'OK' };
  } catch (err) {
    console.error(err);
    return { status: 'Server error' };
  } …
Run Code Online (Sandbox Code Playgroud)

firebase google-cloud-functions

8
推荐指数
1
解决办法
6415
查看次数

Firebase:如何调试 onCall 函数?

我正在使用Google Cloud Functions Emulator在本地调试我的 Firebase 函数。Firebase 建议使用functions.https.onCall 函数而不是 functions.https.onRequest避免直接使用 http 调用。相反,Firebase 建议使用Firebase Functions SDK从代码调用此类函数。因为functions.https.onRequest我使用了http-trigger标志,但如何调试onCall功能?

firebase google-cloud-functions

3
推荐指数
1
解决办法
2172
查看次数