[英]How can I use my verifyToken middleware in express router modules?
我有一個這樣的快速應用程序:
// index.js
const express = require('express');
const app = express();
const userRoutes = require('./routes/userRoutes');
app.use('/user', userRoutes);
const verifyToken = (req, res, next) => {
// validate req.cookies.token
next();
}
我正在使用這樣的快速路由器模塊:
// routes/userRoutes.js
const express = require('express');
const router = express.Router();
router.get('/:userid/data', verifyToken, async (req, res) => {
const data = await db.query()
res.json(data)
});
顯然這不起作用,因為verifyToken
在模塊內是不可訪問的。 如何在不同的 express 模塊中使用相同的verifyToken
中間件功能?
將verifyToken
移動到另一個文件並從那里export
。
然后你可以在其他地方import
它。
您可以做的一件很好的事情是將所有經過身份驗證的路由分組在一個公共路徑下,並使用router.use
確保您在所有路由上應用verifyToken
中間件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.