当前位置 : 主页 > 网页制作 > Nodejs >

node.js – Passport JWT – 未经授权

来源:互联网 收集:自由互联 发布时间:2021-06-16
我遇到了一个问题,它总是在未经授权的情况下返回给我.当我将标题授权设置为收到的令牌时.它返回. Unauthorized . router.get('/dashboard', passport.authenticate('jwt', {session: false}), (req, res) = { res
我遇到了一个问题,它总是在未经授权的情况下返回给我.当我将标题授权设置为收到的令牌时.它返回.

Unauthorized

.

router.get('/dashboard', passport.authenticate('jwt', {session: false}), (req, res) => {

    res.json('It worked: User ID is: ' + req.user._id);

});

.

var jwtOptions = {

    jwtFromRequest: ExtractJwt.fromAuthHeader(),
    secretOrKey: config.jwt.secretOrKey
    //issuer: config.jwt.issuer,
    //audience: config.jwt.audience,
};

passport.use(new JWTStrategy(jwtOptions, (jwt_payload, done) => {

    User.findOne({id: jwt_payload.id}, (err, user) => {

        if (err) {
            return done(err, false);
        }

        if (!user) {
            return done(null, false);
        }

        return done(null, user);

    });

}));
你必须改变这些事情:

1)你必须改变
   jwtFromRequest:ExtractJwt.fromAuthHeader(),到jwtFromRequest:ExtractJwt.fromAuthHeaderAsBearerToken(),

2)设置标题:
    授权:承载{token}

3)jwt_payload._id更改为jwt_payload._doc._id

网友评论