dhleong / pepper-mint

Unofficial mint.com API in node.js
65 stars 16 forks source link

Error: Session has expired #6

Closed sixcircuit closed 8 years ago

sixcircuit commented 8 years ago

The library has been working great for the last couple weeks. Today it started dying with the error message "Session has expired." Do you have any idea what I can do about this? My passwords haven't change, and I haven't made any modifications. I can login to the Mint web site. It just broke.

Thanks for a great library, and any help you can provide.

dhleong commented 8 years ago

Does it still work for a while, and then eventually you start getting this error? If so, perhaps issue a lightweight call periodically to keep the session alive.

Unfortunately, I'm not actively using this in any projects at the moment, so don't have anything practical for testing things like this. I wrote it for short-lived things, like adding missing transactions (which didn't really pan out anyway because, at least at the time, you couldn't get the system to categorize things for you). Could you tell me more about your use case, perhaps?

dhleong commented 8 years ago

I do see a new XHR call on mint.com:

POST https://wwws.mint.com/userInterationMonitoring.xevent

data:[{"type":"pageLoad","browser":"chrome","name":"/transaction.event","duration":736,"webServiceCalls":[{"duration":131,"className":"https://api.mixpanel.com","methodName":"track/","start":1464348871889,"end":1464348872020},{"duration":159,"className":"https://api.mixpanel.com","methodName":"track/","start":1464348871976,"end":1464348872135},{"duration":368,"className":"https://wwws.mint.com","methodName":"listTransaction.xevent","start":1464348872127,"end":1464348872495,"sstart":"1464348868979","send":"1464348869229","sduration":250},{"duration":441,"className":"https://wwws.mint.com","methodName":"app/getJsonData.xevent","start":1464348872128,"end":1464348872569,"sstart":"1464348868983","send":"1464348869216","sduration":233}],"staticRequests":{},"fullRefresh":false,"perceivedServerTime":250}]
headers[token]: <token>

Looks like just analytics, but they could also be using this as a signal for extending the session life.

sixcircuit commented 8 years ago

I'm just instantiating the client, and doing a getAccounts() call. That's it, no long lived sessions.

dhleong commented 8 years ago

Ah. I'll take a look sometime.

On Fri, May 27, 2016 at 11:43 PM Kendrick Taylor notifications@github.com wrote:

So I'm just instantiating the client, and doing a getAccounts() call. That's it, no long lived sessions.

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/dhleong/pepper-mint/issues/6#issuecomment-222288034, or mute the thread https://github.com/notifications/unsubscribe/AAx0FtNzPBhmSnkY6FSDmcnNYuTEz8Rwks5qF7nwgaJpZM4IoMz1 .

sixcircuit commented 8 years ago

People are having the same issue with the python client: https://github.com/mrooney/mintapi/issues/73

I'll see if I can fix it and issue a pull request when they figure it out.

dhleong commented 8 years ago

Cheers 👍

sixcircuit commented 8 years ago

I turns out it's a two factor authentication problem. I'm just using this now: https://github.com/sktaylor/mint-getaccounts-casper. It only gets accounts, but that's all I care about.