簡體   English   中英

如何在快速路由器模塊中使用我的 verifyToken 中間件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM