用户未定义:我应该在数据库中创建一个新表吗?

时间:2019-07-12 23:32:04

标签: passport.js

我正在尝试使用Passport.js实现Facebook登录。我在文档中没有看到有关数据库的任何内容,但是出现了一个错误消息“未定义用户”,我怀疑这与数据库中缺少的内容有关。

<a href="/loginFacebook">Login with facebook</a>
passport.use(new FacebookStrategy({
    clientID: 1227008554140703,
    clientSecret: "e508c9661b413e9a56d616350e80f201",
    callbackURL: "http://localhost:8080/facebook/callback"
  },
  function(accessToken, refreshToken, profile, cb) {
    User.findOrCreate({ facebookId: profile.id }, function (err, user) {
        console.log(profile.id);
      return cb(err, user);
    });
  }
));

passport.serializeUser(function(user, cb) {
    console.log("serialize it");
  cb(null, user);
});

passport.deserializeUser(function(obj, cb) {
    console.log("deserialize it");

  cb(null, obj);
});

app.use(passport.initialize());
app.use(passport.session());


app.get('/loginFacebook',
  passport.authenticate('facebook'));

app.get('/facebook/callback',
  passport.authenticate('facebook', { failureRedirect: '/login' }),
  function(req, res) {
      console.log("redirecting back");
    res.redirect('/');
  });

0 个答案:

没有答案