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

TODO error during login - YubiKey #7

Closed
Linuksiarz opened this issue Jun 14, 2020 · 6 comments · Fixed by #123 · May be fixed by #116
Closed

TODO error during login - YubiKey #7

Linuksiarz opened this issue Jun 14, 2020 · 6 comments · Fixed by #123 · May be fixed by #116
Labels
enhancement New feature or request

Comments

@Linuksiarz
Copy link

Linuksiarz commented Jun 14, 2020

Hello!
I'm having trouble logging using private server (bitwarden_rs) and Yubikey. After entering password I'm getting:

$ rbw unlock
rbw unlock: TODO

The same for sync or ls.

Version (AUR rbw-git):

$ rbw --version
rbw 0.4.2
@doy
Copy link
Owner

doy commented Jun 23, 2020

yeah, yubikeys are currently not supported. i'd be willing to look over a patch to make this work, but i'm unfortunately pretty unlikely to get to this anytime soon (it'll be a decent amount of work, because as far as i can tell, there aren't really any u2f client libraries for rust yet, and i don't personally use a yubikey for bitwarden). sorry!

@doy doy added enhancement New feature or request help wanted Extra attention is needed and removed help wanted Extra attention is needed labels Feb 19, 2021
@ambroisie
Copy link

@doy i assume the situation has not changed much since then?

I would really like being able to use rbw with my 2FA-enabled account.

dave-tucker added a commit to dave-tucker/rbw that referenced this issue Nov 24, 2021
This commit adds support for YubiKey auth.
A pinentry prompt asks the user to touch the Yubikey, which causes it to
produce input (like a keyboard). That can then be sent to the Bitwarden
API where it can ID the YubiKey and validate the request.

Fixes: doy#7

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
dave-tucker added a commit to dave-tucker/rbw that referenced this issue Nov 24, 2021
This commit adds support for YubiKey auth.
A pinentry prompt asks the user to touch the Yubikey, which causes it to
produce input (like a keyboard). That can then be sent to the Bitwarden
API where it can ID the YubiKey and validate the request.

Fixes: doy#7

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
@ivankovnatsky
Copy link
Contributor

ivankovnatsky commented May 4, 2022

Getting similar issues on darwin m1:

rbw ls
rbw list: TODO

basically on any rbw action is outputs: TODO.

Sorry, I lied, I've got email 2fa, after disabling it, rbw authenticated no problem. Will create a separate issue then.

@mweinelt
Copy link

mweinelt commented Mar 8, 2023

Wondering if https://github.com/kanidm/webauthn-rs is a valid option for getting webauthn support going. It is kinda the successor to U2F and also works directly with phones, that have TPM devices.

@Firstyear
Copy link

Yep, webauthn-rs would work here.

Keep in mind though, that due to recent changes in webauthn and ctap2, using a yubikey as a "second factor" is no longer really the intent of the spec/standard. These devices are moving to self-contained multifactor, and enforce some behaviours that can confuse users if you try to use them as "single factors" only. We try to guide you away from this in the design of the webauthn-rs api.

But otherwise, yes, webauthn-rs has everything you would need here, and we intend to add support for hmac secret in the future if you need derived keys.

@quexten
Copy link
Contributor

quexten commented Apr 25, 2023

I wrote a prototype PR using webauthn-rs, and it is working (With vaultwarden + yubikey 5c). Still needs clean-up, testing, and integration into the rbw pinentry (currently it expects the pin to be entered via the stdin of the agent), but once complete it solves this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
7 participants