passport.js ve passport local kullanarak temel kullanıcı adı/parola kimlik doğrulaması yapmaya çalışıyorum.Express Passport.js Başarı yönlendirmesi sayfa yüklenmiyor, beklemede tutuluyor
failureRedirect, tam olarak ne yapması gerektiğini (belirtilen bir sayfaya yönlendirir) yapsa da, successRedirect, belirtilen sayfanın isteği ile beklemede kalır ve bir süre sonra "boş yanıt" verir. o dashboard istiyor zaman
http://www.deviantpics.com/VdG
Bu resimde de görebileceğiniz gibi
, onun büyüklüğü 0B, ama yönlendirme olmadan bu gösterge tablosunda giderken o 1.6b söylüyor söylüyor.Stackoverflow'un her yerine baktım ve bana yardımcı olacak bir yanıt bulamadım.
Kodumu kontrol edip berserk'e gitmeden önce bir şey önerebilir misiniz?
Bu pasaport yük kodudur
//set expression
var expressSession = require('express-session');
app.use(expressSession({
secret: credentials.session.secret
}));
//set passport
var passport = require('passport');
var localStrategy = require('./strategies/auth/local.js');
passport.use('local', localStrategy);
passport.serializeUser(function(user, done) {
done(null, user.id);
});
passport.deserializeUser(function(id, done) {
User.findById(id, function(err, user) {
done(err, user);
});
});
app.use(passport.initialize());
app.use(passport.session());
routes.js
module.exports = fonksiyonu (uygulama) {
//main
app.get('/', main.home);
app.get('/login', main.login);
app.get('/signup', main.signup);
app.post('/login', auth.loginLocal);
app.post('/signup', main.checkSignup);
//user
app.get('/user/dashboard', user.dashboard);
app.get('/user/addmemory', user.addMemory);
app.get('/user/memory', user.memory);
giriş fonksiyonu
exports.loginLocal = passport.authenticate('local', {
successRedirect: '/user/dashboard',
failureRedirect: '/login'
});
yerel strateji
var localAuthStrategy = new LocalStrategy(function(username, password, done) {
User.findOne({
username: username
}, function(err, user) {
if (err) {
return done(err);
}
if (!user) {
return done(null, false, {
message: 'Incorrect username'
});
}
if (!user.validPassword(password)) {
return done(null, false, {
message: 'Incorrect password'
});
}
return done(null, user);
});
});
pano işlevi
Sorumun cevabını buldumexports.dashboard = function(req, res) {
res.render('user/dashboard', {
layout: 'user'
});
};
Benzer neler olduğunu bilmek tanımlanan tüm işleyicisi olduğundan emin olun hatırlamak, neler olduğunu çözemedim ben serializeUser() sonunda parantez koymak için unutmuştum - sessizce yönlendirme, ancak hata yok. Daha da kötüsü, uygulama yanlış kullanıcı bilgileri girerken sadece iyi çalıştı. – Bruford