Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Can';当我在我的私人路线中使用中间件时,我不会在邮递员那里得到令牌_Node.js_Header_Authorization_Token_Postman - Fatal编程技术网

Node.js Can';当我在我的私人路线中使用中间件时,我不会在邮递员那里得到令牌

Node.js Can';当我在我的私人路线中使用中间件时,我不会在邮递员那里得到令牌,node.js,header,authorization,token,postman,Node.js,Header,Authorization,Token,Postman,我现在能够成功地将授权标头设置为我的/login路由器中的令牌。然而,每当我测试我的私人路线时,我很难让邮递员将令牌设置为标头 下面是我运行登录路由器的时间。它成功地将标头设置为生成的用户令牌 尽管使用我从另一个登录路径获得的令牌填写了头密钥表单,但Postman在发送请求后没有正确运行代码,因为Postman没有令牌 在下半部分可以看到Postman中缺少标记,在这里我的自定义标题“x-auth”和标记值都看不到 以下是相关代码供参考: 我正在使用的中间件: exports.verify

我现在能够成功地将授权标头设置为我的
/login
路由器中的令牌。然而,每当我测试我的私人路线时,我很难让邮递员将令牌设置为标头

下面是我运行登录路由器的时间。它成功地将标头设置为生成的用户令牌

尽管使用我从另一个登录路径获得的令牌填写了头密钥表单,但Postman在发送请求后没有正确运行代码,因为Postman没有令牌

在下半部分可以看到Postman中缺少标记,在这里我的自定义标题“x-auth”和标记值都看不到

以下是相关代码供参考:

我正在使用的中间件:

exports.verifyOrdinaryUser = function (req, res, next) {
    // check header or url parameters or post parameters for token

    let token =  req.header('x-auth');

    // decode token
    if (token) {
        // verifies secret and checks exp
        jwt.verify(token, config.secretKey, function (req, res, next) {
            if (err) {
                let err = new Error('You are not authenticated!');
                err.status = 401;
                return next(err);
            } else {
                // if everything is good, save to request for use in other routes
                req.user = user;
                req.token = token;
                next();
            }
        });
    } else {
        // if there is no token
        // return an error
        let err = new Error('No token provided!');
        err.status = 403;
        return next(err);
    }
};
这是路由器:

router.post('/addrecipe', authentication.verifyOrdinaryUser, (req, res) => {

            Recipe.create({
                name: req.body.name,
                description: req.body.description,
                steps: req.body.steps,
                ingredients: req.body.ingredients,
                category: req.body.category,
                postedBy: req.user.id,
                postersCreationDate: req.user.creationDate,
                postersName: req.user.username
            }, (err, recipe) => {
                if (err) console.log(err);

                res.json(recipe);

            });

});

要在邮递员中设置身份验证令牌,请转到
Authorization
选项卡,然后选择
OAuth 2.0
as
Type
。您可以在那里找到一个按钮来获取新令牌,您可以在其中输入凭据以接收令牌,您可以为以后的请求设置令牌

标题中设置
内容类型
而不是
内容类型:应用程序/json