Node.js + express.js + passport.js: pozostań uwierzytelniony między restartem serwera

Używam passport.js do obsługi autoryzacji w mojej aplikacji nodejs + express.js. Skonfigurowałem LocalStrategy, aby zabrać użytkowników z mongodb

Moje problemy są takieużytkownicy muszą ponownie uwierzytelnić się po zrestartowaniu serwera węzła. Jest to problem, ponieważ aktywnie go rozwijam i nie chcę się logować przy każdym restarcie ... (+ Używam nadzorcy węzła)

Oto moja konfiguracja aplikacji:

<code>app.configure(function(){
    app.use('/static', express.static(__dirname + '/static'));
    app.use(express.bodyParser());
    app.use(express.methodOverride());
    app.use(express.cookieParser());
    app.use(express.session({secret:'something'}));
    app.use(passport.initialize());
    app.use(passport.session());
    app.use(app.router);
});
</code>

I konfiguracja serializacji sesji:

<code>passport.serializeUser(function(user, done) {
    done(null, user.email);
});

passport.deserializeUser(function(email, done) {
    User.findOne({email:email}, function(err, user) {
        done(err, user);
    });
});
</code>

Spróbowałem rozwiązania podanego na blogu (usunąłem link, ponieważ już nie istnieje) za pomocą connect-mongodb bez powodzenia

<code>app.use(express.session({
    secret:'something else',
    cookie: {maxAge: 60000 * 60 * 24 * 30}, // 30 days
        store: MongoDBStore({
        db: mongoose.connection.db
    })
}));
</code>

EDYTOWAĆ dodatkowy problem: należy wykonać tylko jedno połączenie (korzystanie z jednego połączenia ograniczonej bezpłatnej usługi mongohq)

EDYCJA 2 rozwiązanie (jako wydanie, ponieważ moja reputacja jest niska, aby odpowiedzieć na moje pytanie

Oto rozwiązanie, które w końcu znalazłem, używając połączenia inicjowanego przez mangusta

<code>app.use(express.session({
    secret:'awesome unicorns',
    maxAge: new Date(Date.now() + 3600000),
    store: new MongoStore(
        {db:mongoose.connection.db},
        function(err){
            console.log(err || 'connect-mongodb setup ok');
        })
}));
</code>

questionAnswers(7)

yourAnswerToTheQuestion