Nodejs + Passport.js + Redis: comment stocker des sessions dans Redis
J'ai lu à ce sujet Node.js + express.js + passport.js : rester authentifié entre redémarrage du serveur et j'ai besoin exactement la même chose, mais pour le Redis. J'ai utilisé ce code:
var RedisStore = require('connect-redis')(express);
app.use(express.session({
secret: "my secret",
store: new RedisStore,
cookie: { secure: true, maxAge:86400000 }
}));
Et ça ne fonctionne pas. Pour vous connecter Redis-je utiliser connectez-redis module. Ce que je fais mal? Merci!
UPD: je n'ai pas toutes les erreurs. Pour assurer auth processus avec succès, j'ai ajouté des journaux en ligne, et il s'exécute.
function(email, password, done) {
//asynchronous verification, for effect...
process.nextTick(function() {
findByEmail(email, function(err, user) {
if (!user) {
return done(null, false, {
message: 'Unknown user ' + email
});
}
if (user.password != password) {
return done(null, false, {
message: 'Invalid password'
});
}
//just logging that eveything seems fine
console.log("STATUS: User " + email + " authentificated succesfully");
return done(null, user);
})
});
}));
Journal avec express.enregistreur() a été activé:
127.0.0.1 - - [Fri, 19 Oct 2012 05:49:09 GMT] "GET /ico/favicon.ico HTTP/1.1" 404 - "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4"
STATUS: User admin authentificated succesfully
Je ne supposons qu'il n'y a rien de mal avec auth/utilisateurs/d'identification/de sérialisation/désérialisation d'elle-même. Le problème est juste de passeport ne peut pas placer le biscuit à Redis et le lire.
source d'informationauteur f1nn
Vous devez vous connecter pour publier un commentaire.
Que je devrais utiliser
Ce qui se passe lorsque vous définissez le magasin de façon explicite? c'est à dire quelque chose le long de ces lignes dans votre application: