Alex Webster
Alex Webster

Reputation: 747

Meteor Accounts - Users Logged Out on Refresh

I am using the 'accounts-base' and 'accounts-password' packages and the Accounts.createUser method to create users from a login form (i.e. I am not using the accounts-ui package).

the documentation explains that the user thus created includes a 'services' object

"containing data used by particular login services. For example, its reset field contains tokens used by forgot password links, and its resume field contains tokens used to keep you logged in between sessions."

This is true and accounts created using my login form all have loginTokens. However, when I refresh the browser, these tokens are deleted and the user is logged-out.

The documentation appears to suggest that resume tokens are handled automatically by the accounts-base / accounts-password packages. What have I missed?

Accounts.createUser({
      username: username,
      email: username,
      password: password
    }, function (err) {
      if (err) {
        alert(err)
      } else {            
        Router.go('/member/' + Meteor.userId() +'/edit')               
      }
    });

creates:

 "resume" : 
{ "loginTokens" : 
  [
   {
   "when" : ISODate("2014-04-17T22:13:50.832Z"),
   "hashedToken" : "KstqsW9aHqlw6pjfyQcO6jbGCiCiW3LGAXJaVS9fQ+o=" 
   } 
  ] 
}

...but on refresh:

"resume" : { "loginTokens" : [ ] } },

Upvotes: 0

Views: 1457

Answers (1)

Alex Webster
Alex Webster

Reputation: 747

After an exhaustive audit of my code I found that I was (idiotically) invoking the Accounts.logout method outside the confines of the log-out button event. It had somehow become 'orphaned' during an earlier re-factoring of the code

So all my fault.

Upvotes: 1

Related Questions