Regardez, j'ai fait une pile app moyenne avec register/login en utilisant passportjs, et ça allait, quand je suis passé à angular2 (l'autre était sur angularjs) j'ai fait le côté backend et je pense que cela fonctionne mais je ne sais pas comment le tester sur le fronted, je sais qu'il doit être quelque chose avec l'URL dans le <a href="">
mais quand je mets la route que le passeport me donne, exemple: /auth/facebook
, mon application ne fait rien .. . Eh bien, il fait quelque chose, envoyez-moi à la page d'accueil: c voici mon code jusqu'à présent du côté back-endImplémenter passportjs et angular4
const FacebookStrategy = require('passport-facebook').Strategy;
const session = require('express-session');
const secret = require('../config/database')
const user = require('../models/user')
module.exports = function(app, passport){
app.use(passport.initialize());
app.use(passport.session());
app.use(session({
secret: 'keyboard cat',
resave: false,
saveUninitialized: true,
cookie: { secure: false }
}));
passport.serializeUser(function(user, done) {
token = jwt.sign({email: user.email}, secret, {expiresIn : '24h'});
done(null, user.id);
});
passport.deserializeUser(function(id, done) {
User.findById(id, function(err, user) {
done(err, user);
});
});
passport.use(new FacebookStrategy({
clientID: '350645212059140',
clientSecret: '8a990aec6db37cc3535f4223c235c427',
callbackURL: "http://localhost:4200/auth/facebook/callback",
profileFields: ['id','displayName','email']
},
function(accessToken, refreshToken, profile, done) {
console.log(profile);
// User.findOrCreate(..., function(err, user) {
// if (err) { return done(err); }
// done(null, user);
// });
done(null, profile)
}
));
app.get('/auth/facebook',passport.authenticate('facebook', { scope: 'email' }));
app.get('/auth/facebook/callback' , passport.authenticate('facebook', {failureRedirect: '/login'}), function(res, res){
if (err) {
console.log(err)
}else{
res.send('wi')
}
})
return passport;
}
ma question, comment puis-je mettre en œuvre ce côté rieuses, souviens-toi angulaire 4 :)