req.isAuthenticated()
false, если вы используете CORS и в своем запросе ajax вы не установили withCredentials в true. Убедитесь, что withCredentials
установлен true
.
Я работаю с nodejs + express + mongo и angularjs (MEAN). Я вхожу в систему с помощью стратегии Facebook для паспорта, но я не могу найти способ получить доступ к информации пользователя (req.user) от моего углового клиента. Следует отметить, что угловой фронт находится на другом приложении и веб-сервере, кроме узла, выражающего mongo.
Это мой код nodejs:
passport.serializeUser(function(user, done){
done(null, user._id);
});
passport.deserializeUser(function(id, done){
UserModel.findById(id, function(err, user){
done(err, user);
});
});
passport.use(new FacebookStrategy({
clientID: config.facebook.appId,
clientSecret: config.facebook.appSecret,
callbackURL: config.facebook.redirectUri,
scope: config.facebook.scope,
profileFields: ['name','displayName','gender','profileUrl','email']
},
function(accessToken, refreshToken, profile, done) {
UserModel.findOne( {$or:[{'facebook_profile.id': profile.id},{'email':profile.emails[0].value}]}, function(err, user){
var newuser = new UserModel();
if(err){
return done(err);
}
if(user){
return done(null, user);
}
else {
newuser.facebook_profile.id = profile.id;
newuser.facebook_profile.name = profile.displayName
return done(null, newuser);
}
});
})
);
app.get('/auth/is_auth', function(req, res){
if (req.isAuthenticated()){
res.json(req.user);
}
})
После этого из Postman я вызываю http: // localhost: 3000 / auth / is_auth
Но req.isAuthenticated () всегда FALSE
Что это может быть, я никогда не могу получить информацию о пользователе
javascript,angularjs,node.js,facebook,passport.js,