firebase函数链中间件

ren*_*dom 3 firebase google-cloud-functions

有没有办法像 Express 一样在“普通”firebase 函数上链接中间件?

普通”功能

addNote = https.onRequest((req, res, next) => {
 addNote(req, res,next);
});
Run Code Online (Sandbox Code Playgroud)


使用 Express我链接 isAuthenticated 并验证中间件

app.post("addNote", isAuthenticated, validate, (req, res, next) => {
  addNote(req, res, next);
 }
);
Run Code Online (Sandbox Code Playgroud)

Dou*_*son 5

自动应用 Express 中间件的唯一方法是为端点(或端点集合)创建 Express 应用程序并向其应用中间件。然后,该 Express 应用程序可以使用 Cloud Functions for Firebase 处理 HTTP 端点。例如:

const cookieParser = require('cookie-parser')();
const cors = require('cors')({origin: true});
const app = express();

app.use(cors);
app.use(cookieParser);

app.get('/hello', (req, res) => {
  res.send(`Hello ${req.user.name}`);
});

exports.app = functions.https.onRequest(app);
Run Code Online (Sandbox Code Playgroud)

现在 /hello 函数由 Cloud Functions 提供服务,并应用了 cors 和 cookie-parser 中间件。

取自该示例的代码段。