NodeJS + Express + Mongo stockage de Session

Je rencontre actuellement un enfer de temps à essayer de stocker les sessions dans MongoDb.

J'ai essayé express-session-mongo et connectez-mongodb et à la fois de me donner la même "500 internal server error" quand j'essaie de charger la page de connexion. Ce qui m'amène à penser que peut-être il y a un conflit avec la mangouste-auth quelque part.

En tout cas voici ma configuration:

app.js:

var MongoStore = require('connect-mongodb');
var MongoDb = require('mongodb').Db;
var Server = require('mongodb').Server;

var db = new MongoDb('myDb', new Server('localhost', 27017, {auto_reconnect: true, native_parser: false}));

app.configure(function() {
  app.use(express.logger({format: 'dev'}));
  app.set('views', __dirname + '/../views');
  app.set('view engine', 'jade');
  app.set('view options', { layout: false });
  app.use(express.bodyParser());
  app.use(express.cookieParser());
  app.use(mongooseAuth.middleware());
  app.use(require('./mysite').middleware());
  app.use(express.methodOverride());
});


app.configure('production', function(){
  var oneWeek = 657450000;
  app.use(express.static(__dirname + '/../public', { maxAge: oneWeek }));
  app.use(express.session({ store: new MongoStore({db: db}), secret: 'super secret' }));
  app.use(express.errorHandler());
});

//Routes
require('./routing.js');

mongooseAuth.helpExpress(app);

app.listen(3000);
console.log('Express server listening on port %d in %s mode', app.address().port, app.settings.env);

userModel.js

var Schema = mongoose.Schema;
var mongooseTypes = require("mongoose-types");
var mongooseAuth = require('mongoose-auth');
mongooseTypes.loadTypes(mongoose);

var everyauth = require('everyauth')
everyauth.debug = true;

var UserSchema = new Schema({any: {}});

UserSchema.plugin(mongooseAuth, {
    everymodule: {
      everyauth: {
          User: function () {
            return User;
          }
      }
    }
    , password: {
      loginWith: 'email'
      , extraParams: {
            phone: String
          , username: String
        }
      , everyauth: {
            getLoginPath: '/login'
          , postLoginPath: '/login'
          , loginView: 'account/login.jade'
          , getRegisterPath: '/register'
          , postRegisterPath: '/register'
          , registerView: 'account/register.jade'
          , loginSuccessRedirect: '/login/success'
          , registerSuccessRedirect: '/register/success'
        }
    }
});

mongoose.model('User', UserSchema);
User = mongoose.model('User');

En ce moment je suis vraiment juste essayer d'utiliser MongoDb que la session magasin, mais encore une fois j'ai une erreur 500 w/aucune information que ce soit dans le node.js console quand j'essaye de charger la page de connexion.

Toute aide serait grandement appréciée.

Grâce

En fait, je viens retenté avec express-session-mongo et même si je suis toujours le même comportement (en essayant de charger la page de connexion échoue w/ une erreur 500), je viens de vérifier dans MongoDb et la session est fait, il y a comme prévu.
Pour info, aussi n'essayez connectez-mongo, même résultat... mangouste-auth pas jouer gentil?
Après quelques recherches dans le everyauth du module de code, tout ce que j'étais en mesure de comprendre est que l'erreur 500 qui s'est passé dans everyauth/lib/modules/password.js >> ligne 47: res.render(vue, les habitants); Malheureusement, ça n'aide pas trop à partir de là où j'en suis... 🙁

OriginalL'auteur Lancelot | 2012-03-01