私のノード/エクスプレスアプリでの認証にPassport.jsを使用しています。入力フィールドが空のときにパスポートにデフォルトメッセージ「Missing credentials」が表示されます。Passport.jsデフォルトのエラーメッセージを変更
passport.use('login', new LocalStrategy({
usernameField: 'email',
passwordField: 'password'
},
function(email, password, done) {
models.User.findOne({where: {email}}).then(user => {
if (!user)
return done(null, false, {message: 'Email not registered'});
user.checkPassword(password).then(res => {
if (!res)
return done(null, false, {message: 'Incorrect username or password'});
return done(null, user);
});
});
}));
ログインルート:何かのようなフォームまたは
ここで何かのログインのための私の地元の戦略記入してくださいと言って、
router.post('/login', passport.authenticate('login', {
successRedirect: '/',
failureRedirect: '/login',
failureFlash: true
}));
のようになります。 !メール&&!パスワード)return done(null、false、{メッセージ: "Missing credentials"}) ' – oneturkmen
' models.User.findOne ... '行の前で試してください – oneturkmen
私はすでにそれが動作しませんでした – void