summaryrefslogtreecommitdiff
path: root/app/server/util/auth.js
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2018-09-17 00:46:06 +0200
committerJules Laplace <julescarbon@gmail.com>2018-09-17 00:46:06 +0200
commitd5d76a51cf79238c3177aa507213191d279d45ed (patch)
treee89bb1e6c39267b3eeccdab8d6d1d8a2dfd2b535 /app/server/util/auth.js
parentd3e4bb3ed2585859a3adeb7eeff35b7c75ebd840 (diff)
signup works
Diffstat (limited to 'app/server/util/auth.js')
-rw-r--r--app/server/util/auth.js55
1 files changed, 24 insertions, 31 deletions
diff --git a/app/server/util/auth.js b/app/server/util/auth.js
index d280927..fde0263 100644
--- a/app/server/util/auth.js
+++ b/app/server/util/auth.js
@@ -1,8 +1,9 @@
-let passport = require('passport')
-let LocalStrategy = require('passport-local').Strategy
-let crypto = require('crypto')
-// let fs = require('fs')
-let db = require('../db')
+import passport from 'passport'
+import { Strategy as LocalStrategy } from 'passport-local'
+import crypto from 'crypto'
+import db from '../db'
+
+const { user: userModel } = db.models
export function route(app, serve_index){
passport.serializeUser(serializeUser)
@@ -36,32 +37,38 @@ export function ensureAuthenticated(req, res, next) {
}
export function checkIfUserExists(req, res, next) {
- db.getUserByUsername(sanitizeName(req.body.username)).then((user) => {
+ userModel.show(sanitizeName(req.body.username), 'username').then((user) => {
+ console.log('gotta user?', !!user);
user ? res.json({ error: "user exists" }) : next()
+ }).catch(err => {
+ console.error('error', err)
})
}
-export function sanitizeName(s) { return (s || "").replace(new RegExp("[^-_a-zA-Z0-9]", 'g'), "") }
+export function sanitizeName(s) { return (s || "").replace(new RegExp('[^-_a-zA-Z0-9]', 'g'), "") }
export function sanitizeUser(req_user) {
// sanitize user object
- var user = JSON.parse(JSON.stringify(req_user))
+ let user = JSON.parse(JSON.stringify(req_user))
delete user.password
return user
}
export function createUser(req, res, next) {
- if (req.body.password !== req.body.password2) {
+ const { username, password, password2 } = req.body
+ if (password !== password2) {
return res.json({ error: "passwords don't match" })
}
let data = {
- username: sanitizeName(req.body.username),
- realname: sanitize(req.body.realname),
- password: makePassword(username, req.body.password),
- firstseen: new Date(),
+ username: sanitizeName(username),
+ realname: sanitizeName(username),
+ password: makePassword(username, password),
lastseen: new Date(),
- // lastsession: util.now(),
+ level: 0,
+ profile: {},
}
- db.createUser(data).then(() => next())
+ userModel.create(data)
+ .then(user => next(user))
+ .catch(err => res.json({ error }))
}
export function login(req, res) {
@@ -101,11 +108,11 @@ export function validPassword(user, password) {
}
export function changePassword(req, res, next) {
- if (! req.body.oldpassword && ! req.body.newpassword) return next()
+ if (!req.body.oldpassword && !req.body.newpassword) return next()
if (req.body.newpassword !== req.body.newpassword2) {
return res.send({ error: 'Passwords don\'t match.' })
}
- if (! validPassword(res.user, req.body.oldpassword)) {
+ if (!validPassword(res.user, req.body.oldpassword)) {
return res.send({ error: 'Password is incorrect.' })
}
let username = req.user.get('username')
@@ -113,19 +120,6 @@ export function changePassword(req, res, next) {
res.user.set('password', newPassword)
res.user.save().then(() => next()).catch(err => res.send({ error: err }))
}
-export function changePasswordDangerously(req, res, next) {
- if (! req.body.password && ! req.body.newpassword) return next()
- if (req.body.newpassword !== req.body.newpassword2) {
- return res.send({ error: 'Passwords don\'t match.' })
- }
- if (! validPassword(req.user, req.body.password)) {
- return res.send({ error: 'Password is incorrect.' })
- }
- let username = res.user.get('username')
- let newPassword = makePassword(username, req.body.newpassword)
- res.user.set('password', newPassword)
- res.user.save().then(() => next()).catch(err => res.send({ error: err }))
-}
export function verifyLocalUser(username, password, done) {
// handle passwords!!
@@ -142,7 +136,6 @@ export function verifyLocalUser(username, password, done) {
})
}
-
export function checkin(req, res) {
res.json({ user: sanitizeUser(req.user) })
}