2017-06-04 126 views
0

我使用angularJS +护照来执行用户身份验证,因此,我在下面进行了设置。 HTML:400 - Bad Request(AngularJS + Passport)

<div ng-controller="logincontroller"> 
<form> 
Email:<input type="text" ng-model="user.email"/> 
Password:<input type="password" ng-model="user.password"/> 
<div ng-click=loginUser()>Submit</div> 
</form> 
</div> 

在客户端的JavaScript:

app.controller('logincontroller',function($scope,$http){ 
    $scope.loginUser=function(){ 
    $http.post('/loginUser',JSON.stringify($scope.user)); 
    } 
    }) 

ON app.js

passport.use(new LocalStrategy(
    {usernameField: 'user.email', 
    passwordField: 'user.password', 
    passReqToCallback : true 
    }, 
    function(req,username,password,done){ 
     console.log("am hre"); 

} 
)) 

app.post('/loginUser',passport.authenticate('local')); 

我不知道我是否有设置的要求模式的权利。我得到400 - 尝试登录时出现错误的请求,我不认为策略被调用。请支持。

回答

0

那么,只需要添加名称属性输入标签。这解决了这一切

在HTML

Email:<input type="text" name="email" ng-model="user.email"/> 
Password:<input type="password" name="password" ng-model="user.password"/> 

而且在app.js

passport.use(new LocalStrategy(
    {usernameField: 'email', 
    passwordField: 'password', 
    passReqToCallback : true 
    }, 
    function(req,username,password,done){ 
     console.log("am hre"); 
相关问题