feat: manual password expiry. closes #7471

This commit is contained in:
Andrew Rodrigues
2019-03-20 16:34:22 -04:00
parent 240f563ab0
commit 24dcae2193
4 changed files with 36 additions and 0 deletions

View File

@@ -126,6 +126,25 @@ User.sendPasswordResetEmail = function (socket, uids, callback) {
}, callback);
};
User.forcePasswordReset = function (socket, uids, callback) {
if (!Array.isArray(uids)) {
return callback(new Error('[[error:invalid-data]]'));
}
uids = uids.filter(uid => parseInt(uid, 10));
async.each(uids, function (uid, next) {
async.waterfall([
function (next) {
user.setUserField(uid, 'passwordExpiry', Date.now(), next);
},
function (next) {
user.auth.revokeAllSessions(uid, next);
},
], next);
}, callback);
};
User.deleteUsers = function (socket, uids, callback) {
deleteUsers(socket, uids, function (uid, next) {
user.deleteAccount(uid, next);

View File

@@ -11,6 +11,7 @@
<li><a href="#" class="validate-email"><i class="fa fa-fw fa-check"></i> [[admin/manage/users:validate-email]]</a></li>
<li><a href="#" class="send-validation-email"><i class="fa fa-fw fa-mail-forward"></i> [[admin/manage/users:send-validation-email]]</a></li>
<li><a href="#" class="password-reset-email"><i class="fa fa-fw fa-key"></i> [[admin/manage/users:password-reset-email]]</a></li>
<li><a href="#" class="force-password-reset"><i class="fa fa-fw fa-unlock-alt"></i> [[admin/manage/users:force-password-reset]]</a></li>
<li class="divider"></li>
<li><a href="#" class="ban-user"><i class="fa fa-fw fa-gavel"></i> [[admin/manage/users:ban]]</a></li>
<li><a href="#" class="ban-user-temporary"><i class="fa fa-fw fa-clock-o"></i>[[admin/manage/users:temp-ban]]</a></li>