400 - 错误请求(AngularJS + Passport)

时间:2017-06-04 14:14:52

标签: javascript passport.js mean-stack passport-local

我使用angularJS + passport来执行用户身份验证,因此,我在下面设置了这些。 HTML:

<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 - Bad请求,我不认为策略是被调用的。请帮忙。

1 个答案:

答案 0 :(得分:0)

好吧,只需要在输入标签中添加name属性即可。这解决了所有问题

在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");