-2
エラーをローカルから取得するにはどうすればよいですか?私はそれらをキャッチする方法を見つけることができません。パスポートがエラーのコールバックをres.jsonに送信できるようにするには
already taken????????????????????
のNode.js
router.post('/register', passport.authenticate('local-signup'),function(req, res, next) {
console.log("registration");
console.log("ERROR?");
console.log(req);
console.log(res);
// res.json({type: 'danger',message: info});
});
パスポート:
アイデアは、その後、エラーをキャッチ
res.json
電流出力でクライアントにメッセージとしてそれらを送信することです:
passport.use('local-signup', new LocalStrategy({
usernameField : 'username',
passwordField : 'password',
passReqToCallback : true
},
function(req, username, password, done) {
process.nextTick(function() {
console.log("doing local signup");
Account.findOne({username : username }, function(err, user) {
if (err)
return done(err);
if (user) {
console.log("already taken????????????????????");
return done(null, false, { message: 'That username is already taken.'});
return done(err);
} else {
var newUser = new Account();
newUser.username = username;
newUser.password = newUser.encryptPassword(password);
// save the user
newUser.save(function(err) {
if (err)
throw err;
return done(null, newUser);
});
}
});
});
}));
更新:
私は、カスタムエラーコールバックのコードを試してみましたが、その後、私はクライアントにリクエストを送信するためにreq
プロパティを取得傾けます。
また、認証ミドルウェアを関数req, res, next,
内で呼び出すように移動しようとしましたが、それはまったく呼び出されません。