Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用passport facebook令牌验证facebook令牌时出错_Javascript_Node.js_Facebook Graph Api_Passport Facebook - Fatal编程技术网

Javascript 使用passport facebook令牌验证facebook令牌时出错

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({

我面临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({
        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);
        }
      });
    }
}