私は、passportjsを使ってregister/loginを使って平均スタックアプリケーションを作っています。これは、angle2に変更すると(別のものはangularjsでした)バックエンド側とiそれがうまくいくと思うが、私はそれを正面側でテストする方法を知らない。私はそれが<a href="">
のURLで何かでなければならないことを知っている。しかしパスポートが私に与えるルートを置くと、/auth/facebook
、私のアプリケーションは何もしない.. 。うまくそれが何かは、ホームページに私を送っん: はここに私のコードは、バックエンド側で、これまではCpassportjsと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;
}
私の質問は、私はガラス張りの側にこれを実装する方法を、覚えている角度4 :)