1
私はユーザー認証を行うためにangularJS +パスポートを使用しています。 HTML:クライアント側で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.js
var bodyParser = require('body-parser');
var cookieParser=require('cookie-parser');
var passport=require('passport');
var LocalStrategy=require('passport-local').Strategy();
var session=require('express-session');
app.use(express.session({secret:"flibbertygibbit"}));
app.use(cookieParser());
app.use(passport.initialize());
app.use(passport.session());
app.use(bodyParser.json());
passport.use(new LocalStrategy(
{usernameField: 'user.email',
passwordField: 'user.password',
passReqToCallback: true
},
function(username,password,done){
console.log("am here"+username+" "+password);
}
))
app.post('/loginUser',passport.authenticate('local'));
ON
app.controller('logincontroller',function($scope,$http){
$scope.loginUser=function(){
$http.post('/loginUser',JSON.stringify($scope.user));
}
})
私が直面する問題は、ローカル戦略はすべて、私が得るすべてで呼び出されISNOTですTyperror:ローカル戦略では、確認コールバックが必要です。私はどこが間違っていたのか分からず、初心者です。助けてください。
あなたは絶対に正しいです。愚かな間違いで申し訳ありません。私はそれを修正し、今私は型エラーを取得しないが、私は400 - 悪い要求を取得します。理由を教えてください。 – Gayathri
@Gayathriデータを投稿する方法が正しいかどうかは分かりません(おそらく 'JSON.stringify()'と呼ぶのではありませんが、私はAngularに詳しくないので分かりません)。 – robertklep
私はhtmlにname属性を追加しませんでした。なぜなら値が戦略に渡されなかったからです。 – Gayathri