次のプログラムは、ユーザ名/パスワード認証にpassportjsを使用しています。私は間違いをしているわけではありませんが、私はいつも失敗ページにリダイレクトされます。つまりログインページに戻ります。パスポートミドルウェアによる認証に失敗することはありません
var passport = require('passport')
, LocalStrategy = require('passport-local').Strategy
, express = require('express');
var app = express();
app.listen(3000);
app.use(express.static(__dirname+'/public'));
app.use(passport.initialize());
app.use(passport.session());
passport.use(new LocalStrategy(
function(username, password, done) {
console.log(username + ':username');
console.log(password + ':password');
return done(null, [{username:'foo'}]);
}
));
app.get('/login',(req,resp) => {
var options = {
root: __dirname + '/public/'
};
resp.sendFile('login.html',options);
});
app.post('/login',
passport.authenticate('local', { successRedirect: '/',failureRedirect: '/login'})
);
私はpassportjs
の動作を理解しようとしていると私はミドルウェアpassport.use(new LocalStrategy(
が呼び出されることは決してありませんことを参照してください。理由はわかりませんが、障害の根本原因になる可能性があります。
まだミドルウェアに入っていません。 –