到目前为止,我已经在数据库中使用硬编码数据实现了 facebook登录,现在我也希望实现注册。如何在不需要重复大量代码的情况下在下面的场景中实现它?
请帮帮我。我还需要一个新的路径,并使用相同的网址进行注册吗? 我将如何处理例如 user.FBSignup 控制器?如何用FacebookTokenStrategy实现它?
/**************** FACEBOOK LOGIN ***********************/
passport.use(new FacebookTokenStrategy({
clientID: '562353024149441', //FACEBOOK_APP_ID
clientSecret: '8b3d5b9923bda272239d3304f1b923ce', //FACEBOOK_APP_SECRET
callbackURL: "http://localhost:3443/auth/facebook/callback",
profileFields: ['id', 'displayName', 'photos', 'email']
}, function (accessToken, refreshToken, profile, done) {
console.log(profile.photos[0].value)
user.FBLogin(profile.id, function (err, user) {
return done(err, user);
});
}));
app.post('/auth/facebook/token', passport.authenticate('facebook-token', {
session: false
}), (req, res) => {
console.log(req.user)
let token;
try {
token = jwt.sign({
user: req.user,
}, "supersecret")
res.header('token', token)
} catch (e) {
return res.json({
status: "error"
})
log('e', 'app.get(/auth/facebook/token - e - 230 : ' + e)
}
return res.send(req.user)
});
答案 0 :(得分:0)
我不确定您是否希望使用https://github.com/jaredhanson/passport-facebook,or使用https://github.com/drudge/passport-facebook-token令牌方法进行服务器端登录,根据您的代码,我建议观看此YouTube视频https://www.youtube.com/watch?v=zx6jnaLuB9Q&list=PLSpJkDDmpFZ7GowbJE-mvX09zY9zfYatI。