大佬教程收集整理的这篇文章主要介绍了如何在node.js中使用Passport访问序列化用户,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的app.js
var express = require('express'); var routes = require('./routes'); var user = require('./routes/user'); var authentication = require('./routes/authentication'); var content = require('./routes/content'); var posts = require('./routes/post.js'); var upload = require('./routes/upload.js'); var media = require('./routes/media.js'); var http = require('http'); var path = require('path'); var passport = require('passport'); var LocalStrategy = require('passport-local').Strategy; var mongoose = require('mongoose'); var mongoConnectionString = 'mongodb://localhost/judgmental'; var User = require('./models/user.js'); mongoose.connect(mongoConnectionString,function(error) { if (error) { throw error; } console.log('successfully connected to MongoDB'); }); var app = express(); // all environments app.set('port',process.env.PORT || 3001); app.set('views',__dirname + '/views'); app.set('view ENGIne','jade'); app.set('upload_dir',__dirname + '/uploads/posts/'); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser({uploadDir:'./uploads/temp'})); app.use(express.methodOverride()); app.use(express.static(path.join(__dirname,'public'))); app.use(express.cookieParser('keyboard cat')); app.use(express.cookieSession({secret:'keyboard cat',maxAge: 1000})); app.use(express.session({ secret: 'keyboard cat' })); app.use(passport.initialize()); app.use(passport.session()); app.use(app.router); // development only if ('development' == app.get('env')) { app.use(express.errorHandler()); } passport.use(new LocalStrategy( function(username,password,donE) { var query = username.indexOf("@") !== -1 ? {email: usernamE} : {username: usernamE}; User.findOne(query,function (err,user) { if (err) { return done(err); } if (!user) { return done(null,false,{ message: 'Incorrect username.' }); } user.authenticate(password,function(error,user){ if (error) { return done(error); } if (!user) { return done(null,{ message: 'Incorrect password.' }); } return done(null,user); }); }); } )); // routes // Users app.get('/',routes.indeX); app.get('/users',user.list); app.get('/content',content.show); // Posts app.get('/post',posts.singlE); app.get('/post/test/:id',posts.test); app.get('/posts',posts.list); app.post('/post/submitPost',posts.submitPost); app.get('/post/upload',postS.UploadDefault) // Upload app.post('/upload/upload-file',upload.upload); // Image handler app.get('/media/:id',media.getImagE); // Authentication app.post('/signUp',authentication.signUp); app.post('/signIn',authentication.signIn); app.get('/Hello',function(req,res) { res.render('index.jade',{ id: req.user.id }); }); passport.serializeUser(function(user,donE) { console.log("serializeUser"); done(null,user.id); }); passport.deserializeUser(function(id,donE) { console.log("deserializeUser"); User.findById(id,function(err,user) { done(err,user); }); }); http.createServer(app).listen(app.get('port'),function(){ console.log('Express server listening on port ' + app.get('port')); });
我知道用户是序列化的,因为我在进行身份验证时会记录“serializeUser”.有人知道如何在我的GET / Hello中获取序列化用户吗?
以上是大佬教程为你收集整理的如何在node.js中使用Passport访问序列化用户全部内容,希望文章能够帮你解决如何在node.js中使用Passport访问序列化用户所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。