Skip to content

Commit

Permalink
Merge branch 'del-on-logout' into linker
Browse files Browse the repository at this point in the history
  • Loading branch information
Emily Stark committed Jul 10, 2013
2 parents 6ff3afd + c61c3c5 commit 1a40e23
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 2 deletions.
1 change: 0 additions & 1 deletion packages/accounts-base/accounts_client.js
Expand Up @@ -200,4 +200,3 @@ if (Package.handlebars) {
return Meteor.loggingIn();
});
}

14 changes: 13 additions & 1 deletion packages/accounts-base/accounts_server.js
Expand Up @@ -71,12 +71,16 @@ Meteor.methods({
// options, but we don't enforce it.
check(options, Object);
var result = tryAllLoginHandlers(options);
if (result !== null)
if (result !== null) {
this.setUserId(result.id);
this._sessionData.loginToken = result.token;
}
return result;
},

logout: function() {
if (this._sessionData.loginToken && this.userId)
Accounts._removeLoginToken(this.userId, this._sessionData.loginToken);
this.setUserId(null);
}
});
Expand Down Expand Up @@ -109,6 +113,14 @@ Accounts._generateStampedLoginToken = function () {
return {token: Random.id(), when: +(new Date)};
};

Accounts._removeLoginToken = function (userId, loginToken) {
Meteor.users.update(userId, {
$pull: {
"services.resume.loginTokens": { "token": loginToken }
}
});
};


///
/// CREATE USER HOOKS
Expand Down
13 changes: 13 additions & 0 deletions packages/accounts-password/password_tests.js
Expand Up @@ -254,6 +254,19 @@ if (Meteor.isClient) (function () {
test.equal(err, undefined);
test.equal(result, null);
}));
},
function(test, expect) {
var expectLoginError = expect(function (err) {
test.isTrue(err);
});
Meteor.loginWithPassword(username, password2, function (error) {
test.equal(error, undefined);
test.equal(Meteor.user().username, username);
var token = Accounts._storedLoginToken();
Meteor.logout(function () {
Meteor.loginWithToken(token, expectLoginError);
});
});
}

]);
Expand Down

0 comments on commit 1a40e23

Please sign in to comment.