diff options
| author | Adam Soltys <[email protected]> | 2023-02-10 02:59:16 +0000 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2023-02-09 18:59:41 -0800 |
| commit | 2d3b29701db04281eec338d7988693a2960a8036 (patch) | |
| tree | ce0eb2aea8fe7aa53b390a7fca36fbe7aa1f137e | |
| parent | b43990a271f24f1ecdd9f30710a8692095ec864b (diff) | |
| download | coinos-server-2d3b29701db04281eec338d7988693a2960a8036.tar.gz coinos-server-2d3b29701db04281eec338d7988693a2960a8036.zip | |
lowercase usernames
| -rw-r--r-- | routes/users.js | 38 |
1 files changed, 8 insertions, 30 deletions
diff --git a/routes/users.js b/routes/users.js index 235addca..d0b374dc 100644 --- a/routes/users.js +++ b/routes/users.js @@ -141,14 +141,14 @@ export default { if (!user.pin || user.pin === "undefined") delete user.pin; let exists; - if (username) exists = await g(`user:${username}`); + if (username) exists = await g(`user:${username.toLowerCase()}`); let token; - if (user.username !== username && exists) { + if (user.username.toLowerCase() !== username.toLowerCase() && exists) { err("username taken", username, user.username, exists.username); throw new Error("Username taken"); } else if (username) { - if (user.username !== username) + if (user.username.toLowerCase() !== username.toLowerCase()) l("changing username", user.username, username); user.username = username; } @@ -181,7 +181,7 @@ export default { user.haspin = !!user.pin; await s(`user:${user.id}`, user); - emit(user.username, "user", user); + emit(user.id, "user", user); res.send({ user, token }); }, @@ -240,11 +240,11 @@ export default { if (n.type === types.internal) { if (!p.with) continue; - let id = await g(`user:${p.with.username}`); + let id = await g(`user:${p.with.username.toLowerCase()}`); let u = id && (await g(`user:${id}`)); if (!u) { - u = await got(`${classic}/admin/migrate/${p.with.username}`, { + u = await got(`${classic}/admin/migrate/${p.with.username.toLowerCase()}`, { headers: { authorization: `Bearer ${config.admin}` } }).json(); @@ -298,7 +298,7 @@ export default { req.headers["x-forwarded-for"] || req.socket.remoteAddress ); - let payload = { username, id: uid }; + let payload = { id: uid }; let token = jwt.sign(payload, config.jwt); res.cookie("token", token, { expires: new Date(Date.now() + 432000000) }); user = pick(user, whitelist); @@ -310,29 +310,6 @@ export default { } }, - async logout(req, res) { - let { subscription } = req.body; - if (!subscription) return res.send({}); - - const { username } = req.user; - - if (username) { - l("logging out", username); - let i = req.user.subscriptions.findIndex( - s => JSON.stringify(s) === subscription - ); - if (i > -1) { - req.user.subscriptions.splice(i, 1); - } - await req.user.save(); - Object.keys(logins).map( - k => logins[k]["username"] === username && delete logins[k] - ); - } - - res.send({}); - }, - async subscribe({ body, user }, res) { let { subscriptions } = user; let { subscription } = body; @@ -388,6 +365,7 @@ export default { }, async del({ params: { username }, headers: { authorization } }, res) { + username = username.toLowerCase(); if (!(authorization && authorization.includes(config.admin))) return res.code(401).send("unauthorized"); |
