Ich versuche, das Change-Passwort-Funktion mit Loopbacks eingebauter Methode zu implementieren, Es funktioniert gut, aber es aktualisiert das Passwort nicht mit hash
, stattdessen speichert es nur einen einfachen Text in der db. Ich verwende loopback-component-passport
npm Paket in diesem Projekt. Ich habe viele Websites durchsucht, bin jedoch nicht in der Lage, den richtigen Weg zur Implementierung dieser Funktion zu finden. Hat jemand eine Idee, wie man das macht?Implementiere Passwort ändern mit Loopback
//Change user's pasword
app.post('/change-password', function(req, res, next) {
var User = app.models.user;
if (!req.accessToken) return res.sendStatus(401);
//verify passwords match
if (!req.body.password || !req.body.confirmation ||
req.body.password !== req.body.confirmation) {
return res.sendStatus(400, new Error('Passwords do not match'));
}
User.findById(req.accessToken.userId, function(err, user) {
if (err) return res.sendStatus(404);
user.hasPassword(req.body.oldPassword, function(err, isMatch) {
if (!isMatch) {
return res.sendStatus(401);
} else {
user.updateAttribute('password', req.body.password, function(err, user) {
if (err) return res.sendStatus(404);
console.log('> password change request processed successfully');
res.status(200).json({msg: 'password change request processed successfully'});
});
}
});
});
});
mit diesem bekomme ich 'TypeError: user.hashPassword ist keine Funktion' was fehlt mir? –
Ich benutze 'User.hashPassword (req.body.password)' und es funktionierte wie ein Charme .. Vielen Dank! –
@VickyGonsalves du bist willkommen, wenn Sie etwas in Loopback nicht herausfinden können, immer Quellcode, es hilft viel –