mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-01-21 23:12:58 +01:00
proof of concept for #5740
This commit is contained in:
@@ -6,6 +6,7 @@ var db = require('../database');
|
||||
var meta = require('../meta');
|
||||
var events = require('../events');
|
||||
var batch = require('../batch');
|
||||
var utils = require('../utils');
|
||||
|
||||
module.exports = function (User) {
|
||||
User.auth = {};
|
||||
@@ -47,6 +48,25 @@ module.exports = function (User) {
|
||||
], callback);
|
||||
};
|
||||
|
||||
User.auth.getFeedToken = function (uid, callback) {
|
||||
if (!uid) {
|
||||
return callback();
|
||||
}
|
||||
|
||||
User.getUserField(uid, 'rss_token', function (err, token) {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
}
|
||||
|
||||
if (!token) {
|
||||
token = utils.generateUUID();
|
||||
User.setUserField(uid, 'rss_token', token);
|
||||
}
|
||||
|
||||
callback(false, token);
|
||||
});
|
||||
};
|
||||
|
||||
User.auth.clearLoginAttempts = function (uid) {
|
||||
db.delete('loginAttempts:' + uid);
|
||||
};
|
||||
|
||||
@@ -283,7 +283,10 @@ module.exports = function (User) {
|
||||
},
|
||||
function (hashedPassword, next) {
|
||||
async.parallel([
|
||||
async.apply(User.setUserField, data.uid, 'password', hashedPassword),
|
||||
async.apply(User.setUserFields, data.uid, {
|
||||
password: hashedPassword,
|
||||
rss_token: utils.generateUUID(),
|
||||
}),
|
||||
async.apply(User.reset.updateExpiry, data.uid),
|
||||
async.apply(User.auth.revokeAllSessions, data.uid),
|
||||
], function (err) {
|
||||
|
||||
Reference in New Issue
Block a user