{"id":212,"hash":"16d7bd86d78f77a100456b835e47e55b8f1fdb2845ebf9015392642faa52f8c6","pattern":"Passport.js - Error: failed to serialize user into session","full_message":"I got a problem with the Passport.js module and Express.js.\n\nThis is my code and I just want to use a hardcoded login for the first try.\n\nI always get the message:\n\nI searched a lot and found some posts in stackoverflow but I didnt get the failure.\n\nError: failed to serialize user into session\n    at pass (c:\\Development\\private\\aortmann\\bootstrap_blog\\node_modules\\passport\\lib\\passport\\index.js:275:19)\n\nMy code looks like this.\n\n'use strict';\n\nvar express = require('express');\nvar path = require('path');\nvar fs = require('fs');\nvar passport = require('passport');\nvar LocalStrategy = require('passport-local').Strategy;\nvar nodemailer = require('nodemailer');\n\nvar app = express();\n\nmodule.exports = function setupBlog(mailTransport, database){\nvar config = JSON.parse(fs.readFileSync('./blog.config'));\n\napp.set('view options', {layout: false});\n\napp.use(express.static(path.join(__dirname, '../', 'resources', 'html')));\n\napp.use(express.bodyParser());\napp.use(express.cookieParser());\napp.use(express.session({ secret: 'secret' }));\napp.use(passport.initialize());\napp.use(passport.session());\n\napp.get('/blog/:blogTitle', function(req, res) {\n  var blogTitle = req.params.blogTitle;\n  if(blogTitle === 'newest'){\n    database.getLatestBlogPost(function(post) {\n      res.send(post);\n    });\n  } else {\n    database.getBlogPostByTitle(blogTitle, function(blogPost) {\n      res.send(blogPost);\n    });\n  }\n});\n\npassport.use(new LocalStrategy(function(username, password, done) {\n  // database.login(username, password, done);\n  if (username === 'admin' && password === 'admin') {\n    console.log('in');\n    done(null, { username: username });\n  } else {\n    done(null, false);\n  }\n}));\n\napp.post('/login', passport.authenticate('local', {\n  successRedirect: '/accessed',\n  failureRedirect: '/access'\n}));\n\napp.listen(8080);\nconsole.log('Blog is running on port 8080');\n\n}();\n\nThanks.","ecosystem":"npm","package_name":"node.js","package_version":null,"solution":"It looks like you didn't implement passport.serializeUser and passport.deserializeUser. Try adding this:\n\npassport.serializeUser(function(user, done) {\n  done(null, user);\n});\n\npassport.deserializeUser(function(user, done) {\n  done(null, user);\n});","confidence":0.95,"source":"stackoverflow","source_url":"https://stackoverflow.com/questions/19948816/passport-js-error-failed-to-serialize-user-into-session","votes":221,"created_at":"2026-04-19T04:41:32.694032+00:00","updated_at":"2026-04-19T04:51:14.649016+00:00"}