Kay*_*kyo 5 node.js express jwt passport.js
我遇到了一个问题,它总是在未经授权的情况下返回给我.当我将标题授权设置为收到的令牌时.它返回.
擅自
.
router.get('/dashboard', passport.authenticate('jwt', {session: false}), (req, res) => {
res.json('It worked: User ID is: ' + req.user._id);
});
Run Code Online (Sandbox Code Playgroud)
.
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);
});
}));
Run Code Online (Sandbox Code Playgroud)
你必须改变这些事情:
1)你必须将jwtFromRequest:ExtractJwt.fromAuthHeader()更改为jwtFromRequest:ExtractJwt.fromAuthHeaderAsBearerToken(),
2)设置标题:授权:承载{token}
3)jwt_payload._id更改为jwt_payload._doc._id
归档时间: |
|
查看次数: |
6246 次 |
最近记录: |