gpt4 book ai didi

javascript - Mern.js 中的路由(如何包含中间件?)

转载 作者:行者123 更新时间:2023-12-02 17:01:42 26 4
gpt4 key购买 nike

我尝试在 MEAN.js 中包含一个中间件 (passport-http-bearer),但它使用与 Express 4 不同的路由语法。

Express API 语法是:

app.get('/', function(req, res){
res.send('hello world');
});

在 MEAN.js 中,路由定义如下:

app.route('/articles')
.get(articles.list)
.post(users.requiresLogin, articles.create);

如何在 MEAN.js 路由器中包含中间件(在我的例子中,passport-http-bearer 用于检查 token )?

http-bearer 作为中间件的示例实现是:

app.get('/profile', 
passport.authenticate('bearer', { session: false }),
function(req, res) {
res.json(req.user);
});

我应该如何在 MEAN.js 中执行此操作?

最佳答案

对于最终来到这里试图弄清楚如何做到这一点的其他人,以下是如何做到这一点:

app.route('/articles')
.get(passport.authenticate('bearer', { session: false }), articles.list)
.post(passport.authenticate('bearer', { session: false }), articles.create);

或者为了让它看起来更好,可以将整个 auth 函数放入 users.authorization.server.controller.js 中并调用如下所示的内容:

app.route('/articles')
.get(users.requiresToken, articles.list)
.post(users.requiresToken, articles.create);

关于javascript - Mern.js 中的路由(如何包含中间件?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25649538/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com