当我使用不记名jwt令牌时,“ message”:“无效令牌”

时间:2020-02-08 19:35:17

标签: express jwt

I use this tipe of duthorization header

我在邮递员中使用这种类型的授权标头; 在我的中间件中,我有以下代码:

    try {
        jwtPayload = <any>jwt.verify(<string>req.headers["authorization"], config.jwtSecret);
        res.locals.jwtPayload = jwtPayload;
    } catch (error) {
        //If token is not valid, respond with 401 (unauthorized)
        res.status(401).send(error);
        return;
    }
console.log(req.headers["authorization"]) = Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjEsInVzZXJuYW1lIjoiaW9uIiwiaWF0IjoxNTgxMTg3Nzg2LCJleHAiOjE1ODExOTEzODZ9.FzZjk-X5AsWP43BFLA3QU1Qd3G9z6NJBT8bdASLzei4

,当我尝试使用中间件访问路由时,我得到以下消息:

{
    "name": "JsonWebTokenError",
    "message": "invalid token"
}

当我只使用令牌(eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjEsInVzZXJuYW1lIjoiaW9uIiwiaWF0IjoxNTgxMTg3Nzg2LCJleHAiOjE1ODExOTEzODZ9.FzZjk-X5AsWP43BFLA3QU1Qd3G9z6NJBT8bdASLzei4)中间件成功地通过; 我的问题是,我应该从请求中删除Bearer还是在没有Bearer的情况下发送到标头?

1 个答案:

答案 0 :(得分:0)

我使用<any>jwt.verify(token.substring(7), config.jwtSecret)仅获得令牌