首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在节点router.use()方法中是否有一种方便时关闭中间件的方法?

在节点router.use()方法中是否有一种方便时关闭中间件的方法?
EN

Stack Overflow用户
提问于 2017-08-08 02:33:26
回答 1查看 21关注 0票数 0

因此,我在我的节点应用程序中遇到了一个问题,在后端,我创建了一个登录和注册post方法,它接受用户名和密码。然后,我创建了一个中间件router.use,它在浏览器中使用令牌来获取用户配置文件信息。问题在于中间件现在请求令牌头身份验证:

代码语言:javascript
复制
this.options = new RequestOptions({
  headers: new Headers({
    'Content-Type': 'application/json',
    'authorization': this.auth.authToken
  })
});

我想知道如何绕过这个中间件,而不使用标头身份验证来获取我在数据库中发布的博客。

这是中间件。

代码语言:javascript
复制
router.use((req, res, next) => {
    const token = req.headers['authorization'];
    if (!token) {
        res.json({
            success: false,
            message: 'No token'
        });
    } else {
        jwt.verify(token, Data.secret, (err, decoded) => {
            if (err) {
                res.json({
                    success: false,
                    message: 'Token invalid: ' + err
                });
            } else {
                req.decoded = decoded;
                next();
            }
        });
    }
});

每个post和get方法--这个路由器中间件--都要求我使用这个中间件。我是否可以绕过这个中间件而不使用requestOptions身份验证从数据库中获取博客呢?谢谢

EN

Stack Overflow用户

回答已采纳

发布于 2017-08-08 02:59:13

好的,显而易见的答案是注册那些不需要这个中间件之上的令牌的路由,以及那些需要这个中间件下面的令牌的路由。路线遵守注册令。

或者,如果没有令牌,您的逻辑显然会发送响应。您也可以简单地不这样做,并允许未来的路由来处理没有令牌的情况。这取决于您的用例。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45558406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档