在Node上获得护照上的错误请求

时间:2016-10-14 04:38:00

标签: node.js express passport.js

我正在尝试在Node上运行一些带有护照的基本测试,当我尝试访问路径localhost:3000 / login时,我得到一个Bad请求400.这是代码:

var express = require('express');
var app = express();
var jwt = require('jsonwebtoken');
var passport = require('passport');

var LocalStrategy = require('passport-local').Strategy;

passport.use(new LocalStrategy(
    function(username, password, done) {
        var user = {
            username: "name",
            password: "password123"
        }

    return done(null, user); 
    }
));




app.post('/login',
  passport.authenticate('local', {session: false}),
  function(req, res) {
    req.user.name = "Giuan";
    res.send(req.user.name);
    //res.redirect('/users/' + req.user.username);
  });

app.listen(3000, ()=>{
    console.log('Running on port 3000');
})

2 个答案:

答案 0 :(得分:1)

试试这个:

var express = require('express');
var app = express();
var jwt = require('jsonwebtoken');
var passport = require('passport');
var bodyParser = require('body-parser');

//if you are getting the info (username and password) through the body 
//of the http request you need to use body-parser
app.use(bodyParser());

var LocalStrategy = require('passport-local').Strategy;

passport.use(new LocalStrategy(
    function(username, password, done) {
        var user = {
            username: "name",
            password: "password123"
        }

    return done(null, user); 
    }
));


app.use(passport.initialize());

app.post('/login',
  passport.authenticate('local', {session: false}),
  function(req, res) {
    req.user.name = "Giuan";
    res.send(req.user.name);
    //res.redirect('/users/' + req.user.username);
  });

app.listen(3000, ()=>{
    console.log('Running on port 3000');
})

答案 1 :(得分:0)

使用var express = require('express'); var app = express(); var jwt = require('jsonwebtoken'); var passport = require('passport'); var LocalStrategy = require('passport-local').Strategy; passport.use(new LocalStrategy( function(username, password, done) { var user = { username: "name", password: "password123" } return done(null, user); } )); app.use(passport.initialize()); app.post('/login', passport.authenticate('local', {session: false}), function(req, res) { req.user.name = "Giuan"; res.send(req.user.name); //res.redirect('/users/' + req.user.username); }); app.listen(3000, ()=>{ console.log('Running on port 3000'); }) 您尚未在代码中初始化护照。

Task.Run()