Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XOAUTH2 implementation for Yahoo accounts #1698

Closed
philipwhiuk opened this issue Oct 11, 2016 · 12 comments · Fixed by #6105
Closed

XOAUTH2 implementation for Yahoo accounts #1698

philipwhiuk opened this issue Oct 11, 2016 · 12 comments · Fixed by #6105
Labels
status: needs information Needs more information to proceed type: enhancement New features or improvements to existing features. type: security Issues related to security vulnerabilities
Milestone

Comments

@philipwhiuk
Copy link
Contributor

philipwhiuk commented Oct 11, 2016

Expected behavior

Yahoo accounts should be able to sign in, without enabling less secure apps.

NB: For POP3 XOAUTH2 isn't available on Yahoo. POP3 is deprecated anyway. We should probably also tell Yahoo users (notification) to migrate from POP3.

Actual behavior

Denied.

Steps to reproduce

  1. Configure a Yahoo account on IMAP
  2. Try to login

Environment

K-9 Mail version: master

Android version: 7.0

Account type (IMAP, POP3, WebDAV/Exchange): IMAP

Developer notes

The work to implement some of the XOAUTH2 code is done in #1295

However the assumption was made that it would be Google accounts. So much of token refresh code works out of the box. This isn't true for Yahoo accounts. So some work needs to be done in terms of:

  1. Writing an XOAUTH2 token refresh tool for Yahoo accounts
  2. Making sure we use the right method for each one

I suspect we'll have a hardcoded URL in the app somewhere for Yahoo's endpoint. But I'm speculating until I get my hands dirty again

@philipwhiuk philipwhiuk self-assigned this Oct 11, 2016
@philipwhiuk philipwhiuk added the type: enhancement New features or improvements to existing features. label Oct 12, 2016
@philipwhiuk
Copy link
Contributor Author

Yahoo aren't being communicative on what endpoint you're supposed to hit :(

@philipwhiuk philipwhiuk added the status: needs information Needs more information to proceed label Oct 14, 2016
@vt0r
Copy link
Contributor

vt0r commented Oct 14, 2016

@philipwhiuk - andris9/xoauth2@ae0667f

Apologies in advance for nodejs, but I thought it might help anyway. 👍

@philipwhiuk
Copy link
Contributor Author

philipwhiuk commented Oct 14, 2016

Thanks! There's no scope in the project creation for Mail. But I might just try locally without the scope and see.

As for the nodejs - unfortunately my day job is more and more JS every day so that's not a problem!

@philipwhiuk
Copy link
Contributor Author

Update on this. It doesn't work without the scope. Back in October I pinged Dylan Casey who manages Yahoo's OAuth2 infrastructure as to why. He said he'd get back to me. No word so I've asked for an update.

@Valodim
Copy link
Contributor

Valodim commented Jan 24, 2017

good to hear, thanks for the effort! 👍

@philipwhiuk philipwhiuk assigned daquexian and unassigned philipwhiuk Aug 30, 2017
@natevw
Copy link

natevw commented Mar 19, 2018

So to be clear: it's still the case that to use K-9 with Yahoo mail I will need to change the setting in my account there about "less secure apps" or whatever?

@philipwhiuk
Copy link
Contributor Author

philipwhiuk commented Jan 14, 2020

Apparently Sky's version of Yahoo is getting this now and you may not be able to pick the option (TBA). It's still blocked by Yahoo not giving a damn.

My 5 cents says move away from a provider who had a major security breach and then implemented this purely to save face as PR move.

@totolanister
Copy link

In yahoo account security page, you can create an "application password" to use in K9.
https://login.yahoo.com/account/security

So it seems they choose to deprecate XOAUTH2

@vdbhb59
Copy link

vdbhb59 commented Jun 21, 2020

The app pwd stuff works.in case anyone faces issues, just clear cache, FC app and launch. It would work..

@DwayneJengSage
Copy link

Are there any instructions on how to use the "application password"? I can get one from Yahoo, but I can't figure out where to set it in K9.

@vdbhb59
Copy link

vdbhb59 commented Jun 23, 2020

@DwayneJengSage Just use it in the password field, without any space. It will be normal password option.

@marscher
Copy link

I guess XOAUTH2 is dead by now. The application password options works like a charm.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: needs information Needs more information to proceed type: enhancement New features or improvements to existing features. type: security Issues related to security vulnerabilities
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants