Javascript 使用passport facebook令牌验证facebook令牌时出错
我面临passport facebook令牌库的问题。My node app.js看起来像:Javascript 使用passport facebook令牌验证facebook令牌时出错,javascript,node.js,facebook-graph-api,passport-facebook,Javascript,Node.js,Facebook Graph Api,Passport Facebook,我面临passport facebook令牌库的问题。My node app.js看起来像: var passport = require('passport'); var FacebookTokenStrategy = require('passport-facebook-token'); app.use(passport.initialize()); app.use(passport.session()); passport.use(new FacebookTokenStrategy({
var passport = require('passport');
var FacebookTokenStrategy = require('passport-facebook-token');
app.use(passport.initialize());
app.use(passport.session());
passport.use(new FacebookTokenStrategy({
clientID: "myclientid",
clientSecret: "myclientsecret"
},
function(accessToken, refreshToken, profile, done) {
logger.info(JSON.stringify(accessToken));
logger.info(JSON.stringify(refreshToken));
logger.info(JSON.stringify(profile));
logger.info(JSON.stringify(done));
return done(null, user);
}
));
和打印:
info: "EAAH7GGhOLX4BAFY1cUQuTEUUtdAZAgAZAQr3S..."
info: undefined
info: {"provider":"facebook","id":"10153779813157657","displayName":"..."}}
info: undefined
在我的auth.route.js中:
var passport = require('passport');
//var strategy = require('passport-facebook-token');
router.post('/fabookauth', passport.authenticate('facebook-token'), function(req, res) {
// never called because the error occur into passport.authenticate
logger.info(JSON.stringify(req.body));
res.json({
email: req.body.email
});
});
当我调用这个端点时,控制台上会显示一个未定义的错误
查看passport facebook令牌源代码,我想我发现了问题:
已验证的函数始终未定义
我看了很多例子来做这项工作,但我无法找出问题所在,我是否做错了什么?这是一个库错误吗?可能完全是一个库错误,放弃它并提交一份带有建议修复的pr可能完全是一个库错误,放弃它并提交一份带有建议修复的pr
_createClass(FacebookTokenStrategy, [{
key: 'authenticate',
value: function authenticate(req, options) {
var _this2 = this;
var accessToken = this.lookup(req, this._accessTokenField);
var refreshToken = this.lookup(req, this._refreshTokenField);
if (!accessToken) return this.fail({ message: 'You should provide ' + this._accessTokenField });
this._loadUserProfile(accessToken, function (error, profile) {
if (error) return _this2.error(error);
var verified = function verified(error, user, info) {
if (error) return _this2.error(error);
if (!user) return _this2.fail(info);
return _this2.success(user, info);
};
if (_this2._passReqToCallback) {
_this2._verify(req, accessToken, refreshToken, profile, verified);
} else {
_this2._verify(accessToken, refreshToken, profile, verified);
}
});
}
}