【发布时间】:2022-10-06 23:01:57
【问题描述】:
我正在使用护照使用 nodejs 和 reactjs 应用程序进行 facebook 身份验证。我有以下代码
// index.js
const session = require(\"express-session\");
const passport = require(\'passport\');
app.use (
session ({
secret: \"FMfcgzGllVtHlrXDrwtpNdhLRXlNtVzl@18088dda1\",
resave: true,
saveUninitialized: true,
cookie: {
expires: 60 * 60 * 24,
}
})
);
app.use(passport.initialize());
app.use(passport.session());
require(\"./passportConfig\")(passport);
// in passportConfig.js
const User = require(\"./models/user\");
const FacebookStrategy = require(\'passport-facebook\');
module.exports = function (passport) {
passport.use(new FacebookStrategy({
clientID: process.env.FACEBOOK_CLIENT_ID,
clientSecret: process.env.FACEBOOK_CLIENT_SECRET,
callbackURL: \'/user/facebook/callback\',
profileFields: [\'id\', \'displayName\', \'email\', \'name\', \'picture\'],
passReqToCallback: true,
enableProof: true
},
(accessToken, refreshToken, profile, cb) => {
console.dir(profile);
// save the profile on the Database
// Save the accessToken and refreshToken if you need to call facebook apis later on
return cb(null, profile);
}));
passport.serializeUser((user, cb) => {
cb(null, user.id);
});
passport.deserializeUser((id, cb) => {
User.fetchById(id).then(result => {
cb(null, result[0]);
}).catch(err => {
cb(err, null);
});
});
};
运行代码“cb 不是函数”时出现以下错误。我检查了文档,这应该可以。我究竟做错了什么?
标签: node.js reactjs passport-facebook