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

2FA support #10

Open
crepererum opened this issue Jan 16, 2023 · 3 comments
Open

2FA support #10

crepererum opened this issue Jan 16, 2023 · 3 comments

Comments

@crepererum
Copy link
Member

No description provided.

@tinyvoice
Copy link

tinyvoice commented Jan 16, 2023

I was able to add 2FA support by including a new .env variable for the one-time-code and entering it with webdriver. It's not polished yet (I have never used Rust before) but it does work whether the account has 2FA enabled or not.

Edit: made a PR #11, but code is a little sloppy still, but it:

  • Logs in like normal
  • Checks if New Email button present OR if Cancel button present (indicating 2FA needed)
  • If New Email present, return
  • If Cancel button present, enter one-time-code
  • Check if New Email button present for successful login again

Please fix my poor Rust etiquette as you see it, but the code does work on both non-2FA and 2FA accounts.

@Phantop
Copy link

Phantop commented Oct 9, 2024

Has there been any progress in 2FA support or would I need to disable it to use this?

@crepererum
Copy link
Member Author

Short Answer

No progress.

Long Answer

The precious attempt (see #11) no longer works because our interaction with the server was completely reworked from "use a virtual browser and virtually click through the UI" to a more stable "use the API directly". Since then, nobody has attempted to implement 2FA support.

My guess is that it's not brutally hard but requires some reverse engineering to figure out how the 2FA challenges are encoded and how the user interaction would work for a CLI tool.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants