From 238b5fdd52883b5912a4338ff62a0d70b9cc37bd Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Wed, 22 Apr 2015 10:09:30 -0800 Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20need=20to=20return=20anything?= =?UTF-8?q?=20besides=20the=20token?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/initializers/custom-session.js | 19 +++++++++++++++---- server/mocks/authenticate.js | 5 ++--- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/app/initializers/custom-session.js b/app/initializers/custom-session.js index 8979e72..7690ae2 100644 --- a/app/initializers/custom-session.js +++ b/app/initializers/custom-session.js @@ -2,21 +2,32 @@ import Ember from "ember"; import Session from "simple-auth/session"; +// This is pulled straight from ember-cli-simple-auth-token +function getTokenData(token) { + var tokenData = atob(token.split('.')[1]); + try { + return JSON.parse(tokenData); + } catch (e) { + return tokenData; + } +} + export default { name: "custom-session", before: "simple-auth", initialize: function(container) { Session.reopen({ setCurrentUser: function() { - var id = this.get("user_id"); + var token = this.get("token"); var self = this; - if (!Ember.isEmpty(id)) { - return container.lookup("store:main").find("user", id).then(function(user) { + if (!Ember.isEmpty(token)) { + var t = getTokenData(token); + return container.lookup("store:main").find("user", t['sub']).then(function(user) { self.set("currentUser", user); }); } - }.observes("user_id") + }.observes("token") }); } }; diff --git a/server/mocks/authenticate.js b/server/mocks/authenticate.js index 7ae9434..0a6a8b8 100644 --- a/server/mocks/authenticate.js +++ b/server/mocks/authenticate.js @@ -52,11 +52,10 @@ module.exports = function(app) { { expiresInMinutes: 60, issuer: 'bactdb', - subject: 'test', + subject: user.id, }); res.send({ - 'token': token, - 'user_id': user.id, + 'token': token }); } else { res.status(401).send({'error':'Invalid username or password'});