【发布时间】:2021-03-12 01:54:44
【问题描述】:
我知道firebase的云可调用函数和http函数的区别已经澄清here。但是,我仍然对构建用于火库的 CRUD 操作的 API 的特定用例感到困惑。
我知道如何使用 http 函数和 express 执行此操作,但 http 函数不会像可调用函数那样传递带有用户令牌的上下文。
你可以/如何创建一个类似于使用 http 函数(见下文)的 express 的路由器,它允许你创建一个 API 来处理公共和私有路由的 GET、POST、PUT 和 DELETE 请求中间件都在一个可调用函数中?或者您是否需要为每个“路线”创建一个新的可调用函数?
// Define Routes
app.use('/api/users', require('./routes/users'));
app.use('/api/auth', require('./routes/auth'));
app.use('/api/contacts', require('./routes/contacts'));
您是否还可以在特定路由(如 http 函数)上连接要从 firebase 托管调用的可调用函数(见下文)?
"hosting": {
"public": "client/build",
"rewrites": [
{
"source": "/api{,/**}",
"function": "api"
},
{
"source": "**",
"destination": "/index.html"
}
]
},
还是坚持通过 http 函数传递 express 应用程序并仅通过在请求标头中传递用户令牌来进行身份验证会更好?
【问题讨论】:
标签: firebase express http https google-cloud-functions