vitalyrodnenko / geeknote

Console client for Evernote.
2.1k stars 332 forks source link

Unable to Login #375

Open def-mycroft opened 7 years ago

def-mycroft commented 7 years ago

Hello,

I'm just installed this on Ubuntu 16.04. Can't login.

I'm able to input my username / password and skip the two-factor authentication, and get no message after logging in. Using "geeknote logout" after login attempt returns "you are already logged out."

Thanks!!

Edit: One thing I should note is that I recently reinstalled my Ubuntu installation, clearing all old files. I wonder if there is an issue there with the geeknote/evernote connection because it previously had a connection? It has been a few months since I've used geeknote.

shaunpatel commented 7 years ago

Also had the same issue. I use geek note regularly and normally do not have to enter username/password information. However, I was prompted to do so today and was unable to login successfully, even after setting up two-factor auth. Did something change with Evernote?

def-mycroft commented 7 years ago

One thing I should note is that I recently reinstalled my Ubuntu installation, clearing all old files. I wonder if there is an issue there with the geeknote/evernote connection because it previously had a connection? It has been a few months since I've used geeknote.

jeffkowalski commented 7 years ago

Likely duplicate of #372

def-mycroft commented 7 years ago

The main reason I started a new issue is because that issue included an error message, while mine did not.

On Thu, Dec 22, 2016 at 12:37 PM, Jeff Kowalski notifications@github.com wrote:

Likely duplicate of #372 https://github.com/VitaliyRodnenko/geeknote/issues/372

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/VitaliyRodnenko/geeknote/issues/375#issuecomment-268862301, or mute the thread https://github.com/notifications/unsubscribe-auth/ATHxLEw6g9wLCnj9m8734Tmn5aVNoo1eks5rKsNSgaJpZM4LTZTh .

-- Joseph Dasenbrock

DataThinkMonkey commented 7 years ago

I have the same issue on Fedora 25 and Ubuntu 16.10 both new installs. 2 Factor is disable, however I am prompted. I press enter at 2nd auth request, script ends with no error and I am not logged in.

karimone commented 7 years ago

The error seems the handling of the response. Something is changed on evernote oauth.

Here the code that trigger the two factor authentication https://github.com/VitaliyRodnenko/geeknote/blob/master/geeknote/oauth.py#L232

We should check the oauth process if still working as expected (here to test https://dev.evernote.com/doc/articles/authentication.php)

aprouzeau commented 7 years ago

I have the same issue on Mac OS Sierra. I activate 2 factor auth, and it doesn't display any errors, but I am not logged in.

pipakin commented 7 years ago

(Copied from #372)

374

This should fix it. It was a csrf token failure. Evernote was outputting two csrf token hidden fields that needed to be sent along with the request.

Or alternatively feel free to just use my branch. It doesn't look like pull requests have been accepted here for some time.

pipakin commented 7 years ago

My fix should also work for tfa, though I don't have it enabled, so I can't prove that.

rgutzen commented 7 years ago

@pipakin: Had the same problem (as first time user), no tfa, and with your fix it works fine. Thanks!

adrcad commented 7 years ago

@pipakin : Same problem (login), cherry-picked your fix and worked fine ! Thanks a lot !

NGenetzky commented 7 years ago

Does not work with 2FA. @pipakin

Login:       
Password: 
Two-Factor Authentication Code: 566771  
    : Allow Access...Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/geeknote-0.2a-py2.7.egg/geeknote/geeknote.py", line 883, in main
    User().login(**ARGS)
  File "/usr/local/lib/python2.7/dist-packages/geeknote-0.2a-py2.7.egg/geeknote/geeknote.py", line 35, in wrappe
r
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/geeknote-0.2a-py2.7.egg/geeknote/geeknote.py", line 397, in login
    if self.getEvernote().auth():
  File "/usr/local/lib/python2.7/dist-packages/geeknote-0.2a-py2.7.egg/geeknote/geeknote.py", line 151, in auth
    self.authToken = GNA.getToken()
  File "/usr/local/lib/python2.7/dist-packages/geeknote-0.2a-py2.7.egg/geeknote/oauth.py", line 140, in getToken
    self.allowAccess()
  File "/usr/local/lib/python2.7/dist-packages/geeknote-0.2a-py2.7.egg/geeknote/oauth.py", line 251, in allowAccess
    token = "&" + urlencode({ 'csrfBusterToken': tree.xpath("//input[@name='csrfBusterToken']/@value")[0]}) + "&" + urlencode({ 'csrfBusterToken': tree.xpath("//input[@name='csrfBusterToken']/@value")[1]})
IndexError: list index out of range
ticklemynausea commented 7 years ago

Hi. I could enter my user and password, but it kept asking me my mfa codes (which I didn't even had enabled). I enabled mfa in evernote, and still it doesn't work. Username and password is correctly validated, though. If I don't enter the correct details, I don't get the mfa prompt.

ejsexton82 commented 6 years ago

Lines 232 - 234 are wrong. Logging in successfully always seems to result in a 302 redirect now, so that can no longer be used as an indicator of whether Two-Factor Authentication is required or not. I commented out those lines for now, and was able to login successfully:

 # if response.status == 302:
     # the user has enabled two factor auth
     # return self.handleTwoFactor()