मैं नोड.जेएस विकास के लिए नया हूं और वर्तमान में अपने खाली समय पर एक पालतू परियोजना पर काम कर रहा हूं।पासपोर्ट-फेसबुक और पासपोर्ट-जेडटी मिश्रण करने का सबसे अच्छा तरीका क्या है?
अभी तक मैंने रणनीति के लिए passport और passport-jwt का उपयोग करके जेडब्ल्यूटी प्रमाणीकरण बनाया है और मैं इसे अपने सभी रीस्टफुल एपीआई में उपयोग कर रहा हूं।
अब मैं इसे किसी प्रकार के फेसबुक प्रमाणीकरण के साथ मिश्रण करने की सोच रहा हूं, फिर भी टोकन प्रमाणीकरण के साथ रहना चाहता हूं।
exports.authenticate = function(req, res) {
User.findOne({
email: req.body.email
}, function(err, user) {
if (err)
return res.status(400).send(getErrorMessage(err));
if (!user) {
res.status(400).send({
success: false,
message: 'Authentication failed. User not found.'
});
} else {
if (user.checkPassword(req.body.password)) {
let token = jwt.encode(user, config.secretPhrase);
res.json({
success: true,
token: 'JWT ' + token
});
} else {
res.status(401).send({
success: false,
message: 'Authentication failed. Wrong password.'
});
}
}
});
};
app.route('/api/users/authenticate')
.post(user.authenticate);
और मैं निम्नलिखित है मान्य करने के लिए:
वर्तमान में यह मैं कैसे पैदा कर रहा हूँ और टोकन प्राप्त है
let user = require('../../app/controllers/user-controller');
app.route('/api/todos')
.get(user.validateLogin, todos.list)
.post(user.validateLogin, todos.create);
उपयोगकर्ता के नियंत्रक:
exports.validateLogin = passport.authenticate('jwt', {
session: false
});
किसी को भी दो रणनीतियों को मिश्रण करने के लिए एक साफ तरीका सुझा सकते हैं? क्या मुझे express-jwt का उपयोग करना चाहिए? एक्सप्रेस-जेडटी और पासपोर्ट-जेडटी के बीच क्या अंतर है?