我正在设置一个使用passport-facebook身份验证的登录页面,接受来自facebook的电子邮件地址。但当出现重复条目时,它将重定向到success page.Please help me
function(accessToken, refreshToken, profile, done) {
process.nextTick(function() {
if (fbconfig.use_database === true) {
const qr = ("SELECT * from tbl_user where email ='" + profile.emails[0].value + "';");
pool.query(qr, (err, rows) => {
if (err) {
throw err;
}
if (rows && rows.length === 0) {
console.log(profile.emails[0].value);
console.log(profile.id);
console.log(profile.displayName);
var dt = dateTime.create();
var d = dt.format('Y-m-d H:M:S');
console.log("Creating profile");
let sql = ("INSERT into tbl_user(fb_id,token,name,email,cur_date) VALUES('" + profile.id + "','" + accessToken + "','" + profile.displayName + "','" + profile.emails[0].value + "','" + d + "');");
pool.query(sql, function(err, result) {
if (err) {
throw err;
}
console.log("fb inserted");
});
} else {
console.log("Error Email already exist");
}
});
}
return done(null, profile);
});
}));
router.get('/auth/facebook', passport.authenticate('facebook', { scope: 'email' }));
router.get('/auth/facebook/callback',
passport.authenticate('facebook', { successRedirect: '/sample', failureRedirect: '/', failureFlash: true }),
function(req, res) {
pool.query(qr, (err, rows) => {
if (err) {
throw err;
}
if (rows && rows.length > 0) {
res.render('/');
}
})
}
);这是我的代码,我找不到解决方案
发布于 2019-07-31 23:20:24
function(accessToken, refreshToken, profile, done) {
process.nextTick(function() {
if (fbconfig.use_database === true) {
const qr = ("SELECT * from tbl_user where email ='" + profile.emails[0].value + "';");
pool.query(qr, (err, rows) => {
if (err) {
throw err;
}
if (rows && rows.length === 0) {
console.log(profile.emails[0].value);
console.log(profile.id);
console.log(profile.displayName);
var dt = dateTime.create();
var d = dt.format('Y-m-d H:M:S');
console.log("Creating profile");
let sql = ("INSERT into tbl_user(fb_id,token,name,email,cur_date) VALUES('" + profile.id + "','" + accessToken + "','" + profile.displayName + "','" + profile.emails[0].value + "','" + d + "');");
pool.query(sql, function(err, result) {
if (err) {
throw err;
}
console.log("fb inserted");
});
return done(null, true);
} else {
console.log("Error Email already exist");
return done(null, false);
}
});
}
});
}));
router.get('/auth/facebook', passport.authenticate('facebook', { scope: 'email' }));
router.get('/auth/facebook/callback',
passport.authenticate('facebook', { successRedirect: '/sample', failureRedirect: '/', failureFlash: true }),
function(req, res) {
res.redirect('/sample')
}
);发布于 2019-07-30 22:21:11
每当发生错误时尝试完成(Err)。
例如,尝试
if (err) {
throw err;
}使用
if(err) {
done(err);
}希望能对你有所帮助。
https://stackoverflow.com/questions/57266232
复制相似问题