🚑 Forgot/Reset password fix for MongoDB - only update mandatory fields (#6327)

* 🚑 Reset password only update mandatory fields

Signed-off-by: Damien Tsenkoff <d.tsenkoff@gmail.com>

* 🔥 Remove unused / unnecessary code

Signed-off-by: Damien Tsenkoff <d.tsenkoff@gmail.com>
This commit is contained in:
Damien Tsenkoff 2020-06-01 10:33:50 +02:00 committed by GitHub
parent ffecbd42d1
commit 1f9d6af6c9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -198,15 +198,14 @@ module.exports = {
); );
} }
// Delete the current code const password = await strapi.plugins['users-permissions'].services.user.hashPassword({
user.resetPasswordToken = null;
user.password = await strapi.plugins['users-permissions'].services.user.hashPassword({
password: params.password, password: params.password,
}); });
// Update the user. // Update the user.
await strapi.query('user', 'users-permissions').update({ id: user.id }, user); await strapi
.query('user', 'users-permissions')
.update({ id: user.id }, { resetPasswordToken: null, password });
ctx.send({ ctx.send({
jwt: strapi.plugins['users-permissions'].services.jwt.issue({ jwt: strapi.plugins['users-permissions'].services.jwt.issue({
@ -304,9 +303,6 @@ module.exports = {
// Generate random token. // Generate random token.
const resetPasswordToken = crypto.randomBytes(64).toString('hex'); const resetPasswordToken = crypto.randomBytes(64).toString('hex');
// Set the property code.
user.resetPasswordToken = resetPasswordToken;
const settings = await pluginStore.get({ key: 'email' }).then(storeEmail => { const settings = await pluginStore.get({ key: 'email' }).then(storeEmail => {
try { try {
return storeEmail['reset_password'].options; return storeEmail['reset_password'].options;
@ -363,7 +359,7 @@ module.exports = {
} }
// Update the user. // Update the user.
await strapi.query('user', 'users-permissions').update({ id: user.id }, user); await strapi.query('user', 'users-permissions').update({ id: user.id }, { resetPasswordToken });
ctx.send({ ok: true }); ctx.send({ ok: true });
}, },