我使用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请求,我不认为策略是被调用的。请帮忙。
答案 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");