title: Passport.js - Error: failed to serialize user into session
body: <p>I got a problem with the Passport.js module and Express.js.</p>
  
  <p>This is my code and I just want to use a hardcoded login for the first try.</p>
  
  <p>I always get the message:</p>
  
  <p>I searched a lot and found some posts in stackoverflow but I didnt get the failure.</p>
  
  <pre><code>Error: failed to serialize user into session
      at pass (c:\Development\private\aortmann\bootstrap_blog\node_modules\passport\lib\passport\index.js:275:19)
  </code></pre>
  
  <p>My code looks like this.</p>
  
  <pre><code>'use strict';
  
  var express = require('express');
  var path = require('path');
  var fs = require('fs');
  var passport = require('passport');
  var LocalStrategy = require('passport-local').Strategy;
  var nodemailer = require('nodemailer');
  
  var app = express();
  
  module.exports = function setupBlog(mailTransport, database){
  var config = JSON.parse(fs.readFileSync('./blog.config'));
  
  app.set('view options', {layout: false});
  
  app.use(express.static(path.join(__dirname, '../', 'resources', 'html')));
  
  
  app.use(express.bodyParser());
  app.use(express.cookieParser());
  app.use(express.session({ secret: 'secret' }));
  app.use(passport.initialize());
  app.use(passport.session());
  
  
  app.get('/blog/:blogTitle', function(req, res) {
    var blogTitle = req.params.blogTitle;
    if(blogTitle === 'newest'){
      database.getLatestBlogPost(function(post) {
        res.send(post);
      });
    } else {
      database.getBlogPostByTitle(blogTitle, function(blogPost) {
        res.send(blogPost);
      });
    }
  });
  
  passport.use(new LocalStrategy(function(username, password, done) {
    // database.login(username, password, done);
    if (username === 'admin' &amp;&amp; password === 'admin') {
      console.log('in');
      done(null, { username: username });
    } else {
      done(null, false);
    }
  }));
  
  app.post('/login', passport.authenticate('local', {
    successRedirect: '/accessed',
    failureRedirect: '/access'
  }));
  
  
  
  
  
  app.listen(8080);
  console.log('Blog is running on port 8080');
  
  }();
  </code></pre>
  
  <p>Thanks.</p>