使用基本护照authentication时,请求不好的请求

我已经使用了基本的本地策略,并且我得到了400个错误的请求错误作为响应。我该怎么办,Iam使用邮递员提出请求。 下面我写了护照configuration。

当我试图使用/login数据{用户名:nivas@12345.com和密码:nivas12345}

var LocalStrategy = require('passport-local').Strategy; var common = require('../routes/common'); // load up the user model var User = require('../model/user'); module.exports = function(passport) { console.log("passport is working upto here"); // // passport session setup // required for persistent login sessions // passport needs ability to serialize and deserialize users out of session // used to serialize the user for the session passport.serializeUser(function(user, done) { done(null, user.id); }); // used to deserialize the user passport.deserializeUser(function(id, done) { User.findById(id, function(err, user) { done(err, user); }); }); // // LOCAL SIGNUP // // we are using named strategies since we have one for login and one for signup // by default, if there was no name, it would just be called 'local' // // LOCAL LOGIN // // we are using named strategies since we have one for login and one for signup // by default, if there was no name, it would just be called 'local' passport.use('local-login', new LocalStrategy({ // by default, local strategy uses username and password, we will override with email usernameField : 'email', passwordField : 'password', passReqToCallback : true // allows us to pass back the entire request to the callback }, function(req, username, password, done) { // callback with email and password from our form console.log('getting into callback'); // find a user whose email is the same as the forms email // we are checking to see if the user trying to login already exists User.findOne({ 'username' : username }, function(err, user) { // if there are any errors, return the error before anything else console.log(user); if (err) return done(err); // if no user is found, return the message if (!user) return done(null, false, req.flash('loginMessage', 'No user found.')); // req.flash is the way to set flashdata using connect-flash // if the user is found but the password is wrong if (!user.validPassword(password)) return done(null, false, req.flash('loginMessage', 'Oops! Wrong password.')); // create the loginMessage and save it to session as flashdata // all is well, return successful user return done(null, user); }); })); }; 

我在app.js文件中直接使用了路由技术,我也在这里添加了app.js。

 var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var session =require('session'); var passport = require('passport'); var common = require('./routes/common'); require('./config/passport')(passport); var app = express(); //app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); app.use(logger('dev')); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); //app.use(express.session({ secret: 'medicoshereisaquestionbank' })); app.use(passport.initialize()); app.use(passport.session()); //Routing var routes = require('./routes/index'); var users = require('./routes/users'); var registerUser = require('./routes/registeruser'); var postquestion = require('./routes/postquestion'); //Database connection verification app.db = common.conn; app.db.on('error', console.error.bind(console, 'mongoose connection error: error ')); app.db.once('open', function () { console.log('db connection established to medicoshere database '); //and... we have a data store //console.log(app.db); }); //Fixing the modules for a routes..... app.use('/', routes); app.use('/users', users); app.use('/register', registerUser); app.use('/postquestion', postquestion); app.post('/login', passport.authenticate('local-login', { faliureRedirect: '/login' }),function(req, res) { res.redirect('/'); }); // catch 404 and forward to error handler app.use(function (req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); }); // error handlers // development error handler // will print stacktrace if (app.get('env') === 'development') { app.use(function (err, req, res, next) { res.status(err.status || 500); res.send('error', { message: err.message, error: err }); }); } // production error handler // no stacktraces leaked to user app.use(function (err, req, res, next) { res.status(err.status || 500); res.send('error', { message: err.message, error: {} }); }); module.exports = app; 

我的模型文件在这里。

 // Node Module dependencies var express = require('express'); // Local Module dependencies var common = require('../routes/common.js'); var bcrypt = require('bcrypt-nodejs'); //var request = require('request'); common.mong = global.Promise; //common.autoIncrement.initialize(common.conn); //---------------Schema Definitions---------------------// var userSchema = common.Schema({ username: String, password:String, email:String, gender: { type: String, enum: ['male', 'female'], default: 'male' }, contact: Number, profile_pic: String, address: String, role: String, dob: { type: Date, default: Date.now }, collage_name: String, course: String, roll: String, specialization: String }); userSchema.methods.generateHash = function (password) { return bcrypt.hashSync(password, bcrypt.genSaltSync(8), null); }; // checking if password is valid userSchema.methods.validPassword = function (password) { return bcrypt.compareSync(password, this.local.password); }; var User = common.conn.model('User', userSchema); module.exports = User; 

有什么我在这里错过了。

Interesting Posts