refactor: dont load all tokens in verify token

use sortedSetsRemove
This commit is contained in:
Barış Soner Uşaklı
2023-07-28 11:47:52 -04:00
parent 11bfeaf130
commit 2fe193d68f
2 changed files with 11 additions and 8 deletions

View File

@@ -94,9 +94,11 @@ utils.tokens.roll = async (token) => {
const updates = [ const updates = [
db.rename(`token:${token}`, `token:${newToken}`), db.rename(`token:${token}`, `token:${newToken}`),
db.sortedSetRemove(`tokens:createtime`, token), db.sortedSetsRemove([
db.sortedSetRemove(`tokens:uid`, token), `tokens:createtime`,
db.sortedSetRemove(`tokens:lastSeen`, token), `tokens:uid`,
`tokens:lastSeen`,
], token),
db.sortedSetAdd(`tokens:createtime`, createTime, newToken), db.sortedSetAdd(`tokens:createtime`, createTime, newToken),
db.sortedSetAdd(`tokens:uid`, uid, newToken), db.sortedSetAdd(`tokens:uid`, uid, newToken),
]; ];
@@ -113,9 +115,11 @@ utils.tokens.roll = async (token) => {
utils.tokens.delete = async (token) => { utils.tokens.delete = async (token) => {
await Promise.all([ await Promise.all([
db.delete(`token:${token}`), db.delete(`token:${token}`),
db.sortedSetRemove(`tokens:createtime`, token), db.sortedSetsRemove([
db.sortedSetRemove(`tokens:uid`, token), `tokens:createtime`,
db.sortedSetRemove(`tokens:lastSeen`, token), `tokens:uid`,
`tokens:lastSeen`,
], token),
]); ]);
}; };

View File

@@ -45,8 +45,7 @@ Auth.getLoginStrategies = function () {
}; };
Auth.verifyToken = async function (token, done) { Auth.verifyToken = async function (token, done) {
const tokens = await api.utils.tokens.list(); const tokenObj = await api.utils.tokens.get(token);
const tokenObj = tokens.filter((t => t.token === token)).pop();
const uid = tokenObj ? tokenObj.uid : undefined; const uid = tokenObj ? tokenObj.uid : undefined;
if (uid !== undefined) { if (uid !== undefined) {