首页 > 解决方案 > JWT 身份验证的 400 错误请求

问题描述

此 http 400 错误的根本原因是什么?设置是 REST API NodeJs +Mysql 。所以这里是我在哪里的总结:


  1. 用户注册成功
  2. 为用户成功生成 JWT 令牌
  3. 模型完成,POST,GET,DELETE 等工作正常。如果我添加 JWT
  4. 令牌到 JSON 输入并从代码中提取,它工作正常。
  5. 但是当我尝试从 http Headers req.Headers.Authorization.split(" ")[1]获取它时它会爆裂

请参阅下面的关键代码部分:

   Module.exports = (req, res, next){
           const token = req.Headers.Authorization.split(" ")[1];
          //const token2 = req.body.token;  /*this worked!*/
               const decoded = jwt.verify(token, process.env.SECRET);
              req.udata = decoded;
}

Postman 中的原始正文 JSON 输入为:

> {
>     "project_Id" : 2,
>     "lots" : [
>         {
>             "sn" : "1",
>         "lotname" : "Consultancy Project NASA",
>         "value" : "N10m",
>         "status" : "awarded"
>         },
>         {
>             "sn" : "1",
>         "lotname" : "Consultancy Project NASA",
>         "value" : "N10m",
>         "status" : "awarded"
>         }
>     ],
>     "applicant_Id" : 4,
>     "pitch" : "I am the best, you are will be sorry if you do not take me"  }

最后,邮递员屏幕:

标签: node.jshttpjwtpostman

解决方案


推荐阅读