首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firebase callable + express?

Firebase callable + express?
EN

Stack Overflow用户
提问于 2019-03-07 04:18:09
回答 2查看 1.1K关注 0票数 4

有了functions.https.onRequest(app);,就可以立即使用express了。

我想知道是否有可能以同样的方式将functions.https.onCall(...)和express一起使用?

onCall(...)似乎有不同的签名,但也许仍然有一种方法可以在使用onCall(...)函数的同时继续使用express?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-07 04:22:50

不,这不可能。可调用函数强制端点使用特定路径、特定类型的输入(JSON通过POST)和特定类型的输出(也包括JSON)。考虑到可伸缩的工作方式的限制,Express并不能真正帮到你。您可以在documentation中阅读有关所有可调用协议的详细信息。您可以看到,可调用抽象了请求和响应的所有细节,这是您在使用Express时通常使用的细节。

票数 8
EN

Stack Overflow用户

发布于 2020-10-22 18:33:57

但是,真正起作用的是使用onRequest并调用它...然后你可以像正常一样使用express,并在客户端拥有firebase可调用的简单性……

然后你就可以像平常一样进行授权了。例如,使用以下中间件:

代码语言:javascript
复制
export const createFirebaseAuth = () => (req: express.Request, res: express.Response, next: express.NextFunction) => {
    console.log('Time: ', Date.now());
    const token = req.header('Authorization');
    if (!token) {
      res.status(400);
      res.send('Authtoken must be sent with a request');
      return;
    }
    admin
      .auth()
      .verifyIdToken(token.replace('Bearer ', ''))
      .then((v) => {
        req.user = v;
        next();
      })
      .catch((error) => {
        res.status(401);
        res.send(error.message);
        res.end();
      });
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55031521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档