护照 jwt 验证回调未调用
Posted
技术标签:
【中文标题】护照 jwt 验证回调未调用【英文标题】:passport jwt verify callback not called 【发布时间】:2016-12-14 11:31:45 【问题描述】:我正在使用 passport-jwt 包进行简单的身份验证,令牌是由 jsonwebtoken 生成的。 但问题是永远不会调用验证回调。
这是我的 passport.js 代码。
var JwtStrategy = require('passport-jwt').Strategy;
var User = require('../app/models/user');
var config = require('../config/database');
var opts = ;
opts.jwtFromRequest = function(req)
var token = null;
if (req && req.headers)
token = req.headers.authorization;
return token;
;
opts.secretOrKey = config.secret;
console.log(opts);
module.exports = function(passport)
passport.use(new JwtStrategy(opts, function(jwt_payload, done)
User.findOne(_id: jwt_payload._doc._id, function(err, user)
if (err)
return done(err, false);
if (user)
done(null, user);
else
done(null, false);
);
));
;
希望收到您的来信。
谢谢
【问题讨论】:
路由器配置就像示例一样常规: router.route('/timeRecords') .post(passport.authenticate('jwt', session: false),timeRecordController.postTimeRecords) .get( passport.authenticate('jwt', session: false),timeRecordController.getTimeRecords); 【参考方案1】:问题是您应该添加“JWT”(JWT 和原始 jwt 签名前的空格)。请查看本教程http://blog.slatepeak.com/building-a-basic-restful-api-for-a-chat-system/ 约书亚寻求帮助。 顺便说一句,请确保您是否需要 findOne 中的“位置”。
【讨论】:
谢谢。你救了我。事实上,我被困了好几天。你解决了我的问题。再次感谢。 用法说明如下:npmjs.com/package/passport-jwt#include-the-jwt-in-requests以上是关于护照 jwt 验证回调未调用的主要内容,如果未能解决你的问题,请参考以下文章