From e687ae58246b67cc909d8f7b695f30c069f51ede Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Wed, 9 Jul 2014 20:06:41 -0400 Subject: logging in --- config.json | 2 +- public/js/protocols_site.js | 52 ++++++++++++++++++--------------------------- server/auth/index.js | 15 +++++++++++-- server/index.js | 9 ++++++-- 4 files changed, 42 insertions(+), 36 deletions(-) diff --git a/config.json b/config.json index 6d6c27d..621ff52 100644 --- a/config.json +++ b/config.json @@ -1,6 +1,6 @@ { "name": "protocols", "secret": "ummagumma", - "host": "localhost", + "host": "lvh.me", "port": 3000 } diff --git a/public/js/protocols_site.js b/public/js/protocols_site.js index b5d3352..5d3d95c 100644 --- a/public/js/protocols_site.js +++ b/public/js/protocols_site.js @@ -17,6 +17,7 @@ function scrollToBottom (div) function warn(s) { // return + console.log(s) var h = document.getElementById('msg').innerHTML h = s + '
' + h document.getElementById('msg').innerHTML = h @@ -770,28 +771,19 @@ var Auth = isHost: false, loginPrompt: false, hosts: {}, - init: function () - { - if (document.cookie.indexOf("sid.protocols") !== -1) - { - warn('got cookie') - $.post(URL.auth.login, {}, Auth.loginCallback) - return - } - Auth.load() - }, - unload: function () - { - if (Auth.loginPrompt) - { + init: function () { + $.post(URL.auth.login, {}, Auth.loginCallback) + }, + unload: function () { + if (Auth.loginPrompt) { Auth.loginPrompt = false $('#login').fadeOut(1000, function(){ Main.load()} ) - } - else + } + else { Main.load() - }, - load: function () - { + } + }, + load: function () { $('#login').fadeIn(1000) $('#login-email').focus() $('#login-email').keydown(Main.kp) @@ -800,37 +792,35 @@ var Auth = Auth.loginPrompt = true Main.saveFunction = Auth.login Main.saving = false - }, - login: function () - { + }, + login: function () { if (Main.saving) return Main.saving = true warn("attempting login") - var data = - { + var data = { username: $('#login-email').val(), password: $('#login-password').val(), - } + } $('#login-password').val(''), $.post(URL.auth.login, data, Auth.loginCallback) - }, - loginCallback: function (json) - { + }, + loginCallback: function (json) { Main.saving = false - if (json.error) - { + if (! json || json.error) { if (! Auth.loginPrompt) Auth.load() else warn("bad login!") return - } + } // 0 id 1 name 2 firstname 3 email 4 access var user = Auth.user = json.user +console.log(user) + var name = user.name.split(' ')[0] || user.email.split('@')[0] warn( "Logged in! Hello "+name ) Auth.userID = user.id diff --git a/server/auth/index.js b/server/auth/index.js index 4a0e9d2..e5cb2ea 100644 --- a/server/auth/index.js +++ b/server/auth/index.js @@ -22,9 +22,19 @@ var auth = module.exports = { }, login: function (req, res, next) { + if (req.isAuthenticated()) { + console.log(req.user) + return User.findAll({ where: { access: 2 }, attributes: ['id','name'] }).success(function(hosts){ + res.json({ + status: "OK", + user: req.user, + hosts: hosts + }) + }) + } passport.authenticate("local", function(err, user, info){ if (err || ! user) { - return res.json({ error: err }); + return res.json({ error: err || "no user" }); } req.logIn(user, function(err) { @@ -42,6 +52,7 @@ var auth = module.exports = { logout: function (req, res) { req.logout(); + req.session.destroy() res.redirect('/'); }, @@ -51,7 +62,7 @@ var auth = module.exports = { deserializeUser: function (id, done) { if (id == "guest") { - return auth.guestUser + done(null, auth.guestUser) } User.find({ id: id }, function (err, user) { done(err, user) diff --git a/server/index.js b/server/index.js index e85d395..542363d 100644 --- a/server/index.js +++ b/server/index.js @@ -55,9 +55,14 @@ site.setup = function(){ app.use(session({ key: config.name + '.sid', secret: config.secret, - cookie: { domain: '.' + config.host, maxAge: 60*60*24*365 }, + cookie: { + domain: '.' + config.host, + maxAge: 365*24*60*60*1000, + httpOnly: false, + secure: false + }, resave: true, - saveUninitialized: false, + saveUninitialized: true, // store: SessionStore })); app.use(bodyParser()); -- cgit v1.2.3-70-g09d2