में प्रमाणीकरण त्रुटि संदेश passport.js मैं Passport.js का उपयोग कर उपयोगकर्ताओं को प्रमाणित करने के लिए एक नया Sails.js परियोजना है। मेरे पास मूलभूत प्रमाणीकरण काम कर रहा है (जिसका अर्थ है कि कोई उपयोगकर्ता साइन अप कर सकता है और सफलतापूर्वक लॉग इन कर सकता है), लेकिन यदि वे सही क्रेडेंशियल्स दर्ज नहीं करते हैं तो लॉगिन दृश्य में उपयुक्त त्रुटि संदेश प्रदर्शित करना चाहते हैं। मैं यह नहीं समझ सकता कि दृश्य में किसी भी त्रुटि संदेश को कैसे मुद्रित किया जाए।प्रदर्शन दृश्य
यहाँ मेरी सेटअप है। फिर
var passport = require('passport');
module.exports = {
_config: {
actions: false,
shortcuts: false,
rest: false
},
login: passport.authenticate('local', { successRedirect: '/',
failureRedirect: '/login',
failureFlash: true
}),
logout: function(req, res) {
req.logout();
res.redirect('/login');
}
};
, इस ठीक से काम कर रहा है उपयोगकर्ता उनके सही साख में भर जाता है, तो:
var passport = require('passport'),
LocalStrategy = require('passport-local').Strategy,
bcrypt = require('bcrypt');
passport.serializeUser(function(user, done) {
done(null, user.id);
});
passport.deserializeUser(function(id, done) {
User.findOne({ id: id } , function (err, user) {
done(err, user);
});
});
passport.use(new LocalStrategy({
usernameField: 'email',
passwordField: 'password',
passReqToCallback : true
},
function(req, email, password, done) {
User.findOne({ email: email }, function (err, user) {
if (err) { return done(err); }
if (!user) {
return done(null, false, { message: 'Please enter a valid email address.' });
}
if (!req.body.username) {
return done(null, false, { message: 'Please enter your username.' });
}
bcrypt.compare(password, user.password, function (err, res) {
if (!res) {
return done(null, false, {
message: 'Invalid Password'
});
}
var returnUser = {
username: user.username,
email: user.email,
createdAt: user.createdAt,
id: user.id
};
return done(null, returnUser, {
message: 'Logged In Successfully'
});
});
});
}
));
तब मैं api/controllers/AuthController.js
जो निम्नलिखित शामिल है,: मैं config/passport.js
जो निम्नलिखित शामिल है। मैं अपने templating इंजन के रूप में Handlebars उपयोग कर रहा हूँ, और इसलिए की तरह लॉगिन ध्यान में रखते हुए त्रुटि संदेश प्रदर्शित करने के लिए करना चाहते हैं:
<div class="alert">{{ message }}</div>
अब तक मैं कोई लाभ नहीं हुआ {{ failureMessage }}
{{ message }}
{{ req.flash.failureMessage }}
{{ req.flash.err }}
{{ req.flash.message }}
कोशिश की है। तो यह सब कहने के लिए, मैं अपने दृश्य में उचित त्रुटि संदेश कैसे प्रदर्शित करूं? और बेहतर अभी तक, मैं अपने विचार में ग़लत क्षेत्र को कैसे हाइलाइट करूं?