Ich bin neu in javascript.Ich habe ein kleines Projekt gestartet, wo ich Benutzer authentifizieren will.Für diese habe ich Passport lokale Strategie verwendet.Aber die Post Anfrage ich gesendet auf Login-Taste gibt mir Fehlercode 400 dh Schlecht Anfrage.Ich weiß nicht, was ich falsch mache.Ich habe ähnliche Frage gesucht, konnte aber keine befriedigende Antwort auf mein Problem erhalten. Nach Code-Schnipsel.Passport Local Authentication
login.html
<md-content layout-margin class="center-form">
<section class="md-whiteframe-7dp" flex>
<div flex layout="column" layout-padding layout-margin>
<form method="post" name="loginForm" layout="column">
<md-input-container>
<label>Email</label>
<input ng-model="user.email" id="user" type="email" ng-pattern="/^[A-z]+[a-z0-9._][email protected][a-z]+.[a-z.]{2,5}$/" required>
</md-input-container>
<md-input-container>
<label>Password</label>
<input ng-model="user.password" id="password" name="password" type="password" required>
</md-input-container>
<md-button type="submit" ng-disabled="loginForm.$invalid" ng-click="login(user)" class="md-raised md-primary">Login</md-button>
</form>
</div>
</section>
Login.js
app.controller('LoginCtrl',function ($scope,$http) {
$scope.login=function(user){
console.log(user);
$http.post('/login',user)
.success(function (response) {
console.log(response);
})
}
});
Server.js
//Require Modules
var express=require("express");
var config = require('./config');
var path = require('path');
var routes=require('./routes');
var bodyParser = require('body-parser');
var multer = require('multer');
var upload = multer(); // for parsing multipart/form-data
var passport=require('passport');
var LocalStrategy=require('passport-local').Strategy;
var cookieParser= require('cookie-parser');
var session=require('express-session');
//Init Express App
var app=express();
//Express sessions
app.use(session({
secret:"this is the secret key",
resave:true,
saveUninitialized:false
}));
//Cookie Parser
app.use(cookieParser());
app.use(passport.initialize());
app.use(passport.session());
/*Use Middleware (Between header to hTTP actions)*/
app.use(bodyParser.json()); // for parsing application/json
app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded
//passport startegy
passport.use(new LocalStrategy(function(username,password,done){
console.log("username:"+username);
console.log("password:"+password);
return done(null,false,{message:'unable to login'});
}));
passport.serializeUser(function(user, done) {
done(null, user.id);
});
passport.deserializeUser(function(id, done) {
done(null, id);
});
// serve the static public files
app.use(express.static(path.join(__dirname, '../public')));
app.use('/',routes);
Route.js
var express=require('express');
var router=express.Router();
var passport=require('passport')
router.post('/login',passport.authenticate("local"),function(req,res){
console.log("Logged In");
console.log(req.body);
});
module.exports=router;
Ich habe Dokumentation von Passport lesen js Aber es wäre nützlich für mich, wenn jemand es in einfachen Worten erklären könnte, warum 400 Bad Anfrage erfolgt auf Anmeldung click.I Post-Anforderung gemacht hat auf Klick auf den Login-Button.
Vielen Dank @Vesse .Ich habe meinen Fehler gefunden.Das Problem wurde behoben. –