mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-12-23 17:00:24 +01:00
added a new property to userData "hasPassword", disabling "current password" field in user editing if no password is set (for SSO logins, for example)
This commit is contained in:
24
src/user.js
24
src/user.js
@@ -185,8 +185,13 @@ var bcrypt = require('bcryptjs'),
|
||||
return callback(err);
|
||||
}
|
||||
|
||||
if (data && data.password) {
|
||||
delete data.password;
|
||||
if (data) {
|
||||
if (data.password) {
|
||||
delete data.password;
|
||||
data.hasPassword = true;
|
||||
} else {
|
||||
data.hasPassword = false;
|
||||
}
|
||||
}
|
||||
callback(err, data);
|
||||
});
|
||||
@@ -467,13 +472,18 @@ var bcrypt = require('bcryptjs'),
|
||||
return callback(err);
|
||||
}
|
||||
|
||||
bcrypt.compare(data.currentPassword, currentPassword, function(err, res) {
|
||||
if (err || !res) {
|
||||
return callback(err || new Error('Your current password is not correct!'));
|
||||
}
|
||||
if (currentPassword !== null) {
|
||||
bcrypt.compare(data.currentPassword, currentPassword, function(err, res) {
|
||||
if (err || !res) {
|
||||
return callback(err || new Error('Your current password is not correct!'));
|
||||
}
|
||||
|
||||
hashAndSetPassword(callback);
|
||||
});
|
||||
} else {
|
||||
// No password in account (probably SSO login)
|
||||
hashAndSetPassword(callback);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user