aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2016-02-14 18:11:47 -0800
committerAdam Soltys <[email protected]>2016-02-14 18:11:54 -0800
commit15cf6c4ea593db5b10f7f7024f20c6199c62f621 (patch)
tree72a6c3b0c608ecccaf68545933221e92ecc89087 /src
parentd270e7367c6968f16e39392f01b96a219b0ab047 (diff)
downloadcoinos-server-15cf6c4ea593db5b10f7f7024f20c6199c62f621.tar.gz
coinos-server-15cf6c4ea593db5b10f7f7024f20c6199c62f621.zip
Make usernames case insensitive (closes #14)
Diffstat (limited to 'src')
-rw-r--r--src/passport.coffee8
-rw-r--r--src/routes/users.coffee26
2 files changed, 17 insertions, 17 deletions
diff --git a/src/passport.coffee b/src/passport.coffee
index aba6ff53..7fd99668 100644
--- a/src/passport.coffee
+++ b/src/passport.coffee
@@ -5,23 +5,23 @@ passport = require('passport')
LocalStrategy = require('passport-local').Strategy
passport.serializeUser((user, done) ->
- done(null, user.username)
+ done(null, user.username.toLowerCase())
)
passport.deserializeUser((username, done) ->
- db.hgetall("user:"+username, (err, user) ->
+ db.hgetall("user:"+username.toLowerCase(), (err, user) ->
return done(null, user)
)
)
passport.use(new LocalStrategy(
(username, password, done) ->
- db.hget("user:"+username, 'password', (err, hash) ->
+ db.hget("user:"+username.toLowerCase(), 'password', (err, hash) ->
return done(err) if err
if hash
bcrypt.compare(password, hash, (err, match) ->
if match
- db.hgetall("user:"+username, (err, user) ->
+ db.hgetall("user:"+username.toLowerCase(), (err, user) ->
return done(null, user)
)
else
diff --git a/src/routes/users.coffee b/src/routes/users.coffee
index 4ae1200e..d84728ea 100644
--- a/src/routes/users.coffee
+++ b/src/routes/users.coffee
@@ -6,14 +6,14 @@ request = require('request')
module.exports = (sessions) ->
exists: (req, res) ->
- db.hgetall("user:"+req.params.user, (err, obj) ->
+ db.hgetall("user:"+req.params.user.toLowerCase(), (err, obj) ->
if obj? then res.write('true') else res.write('false')
res.end()
)
json: (req, res) ->
db.llen("#{req.params.user}:transactions", (err, len) ->
- db.hgetall("user:#{req.params.user}", (err, obj) ->
+ db.hgetall("user:#{req.params.user.toLowerCase()}", (err, obj) ->
delete obj['password']
obj['index'] = len
res.writeHead(200, {"Content-Type": "application/json"});
@@ -23,10 +23,10 @@ module.exports = (sessions) ->
)
show: (req, res) ->
- db.hgetall("user:"+req.params.user, (err, obj) ->
+ db.hgetall("user:"+req.params.user.toLowerCase(), (err, obj) ->
if obj
options =
- user: req.params.user,
+ user: req.params.user.toLowerCase(),
layout: 'layout',
navigation: true,
js: (-> global.js),
@@ -104,7 +104,7 @@ module.exports = (sessions) ->
url = "#{req.protocol}://#{host}/verify/#{token}"
res.render('users/welcome',
- user: req.params.user,
+ user: req.params.user.toLowerCase(),
layout: 'mail',
url: url,
privkey: req.body.privkey,
@@ -127,7 +127,7 @@ module.exports = (sessions) ->
edit: (req, res) ->
res.render('users/edit',
- user: req.params.user,
+ user: req.params.user.toLowerCase(),
layout: 'layout',
navigation: true,
js: (-> global.js),
@@ -136,7 +136,7 @@ module.exports = (sessions) ->
profile: (req, res) ->
res.render('users/profile',
- user: req.params.user,
+ user: req.params.user.toLowerCase(),
layout: 'layout',
navigation: true,
js: (-> global.js),
@@ -147,15 +147,15 @@ module.exports = (sessions) ->
if req.body.password is ''
delete req.body.password
- db.hmset("user:"+req.params.user, req.body, ->
+ db.hmset("user:"+req.params.user.toLowerCase(), req.body, ->
if req.body.password?
bcrypt.hash(req.body.password, 12, (err, hash) ->
- db.hmset("user:#{req.params.user}", password: hash, ->
+ db.hmset("user:#{req.params.user.toLowerCase()}", password: hash, ->
if req.xhr
res.send({})
res.end()
else
- res.redirect("/#{req.params.user}")
+ res.redirect("/#{req.params.user.toLowerCase()}")
)
)
else
@@ -163,7 +163,7 @@ module.exports = (sessions) ->
res.send({})
res.end()
else
- res.redirect("/#{req.params.user}")
+ res.redirect("/#{req.params.user.toLowerCase()}")
)
if process.env.NODE_ENV is 'production' and
@@ -171,7 +171,7 @@ module.exports = (sessions) ->
req.body.privkey != '' and
req.body.email != ''
res.render('users/key',
- user: req.params.user,
+ user: req.params.user.toLowerCase(),
layout: 'mail',
key: req.body.privkey,
js: (-> global.js),
@@ -202,7 +202,7 @@ module.exports = (sessions) ->
wallet: (req, res) ->
res.render('users/wallet',
- user: req.params.user,
+ user: req.params.user.toLowerCase(),
layout: 'layout',
navigation: true,
js: (-> global.js),