aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortroyready <troy@troyready.com>2023-06-17 15:45:10 -0700
committertroyready <troy@troyready.com>2023-06-17 15:45:10 -0700
commit0e63285b6aaabe0f4bd71b890924f80e3a27e3cb (patch)
treec179c00d728a5e82a2f2d923760b1f010279705d
parent8aa7e36a4f2746b314b0a582f3c59cc8b6b03ca2 (diff)
downloadrbw-0e63285b6aaabe0f4bd71b890924f80e3a27e3cb.tar.gz
rbw-0e63285b6aaabe0f4bd71b890924f80e3a27e3cb.zip
add yubikey support
This is all that's needed to support Yubikey hardware tokens in OTP mode (https://developers.yubico.com/OTP/)
-rw-r--r--src/api.rs2
-rw-r--r--src/bin/rbw-agent/actions.rs1
2 files changed, 3 insertions, 0 deletions
diff --git a/src/api.rs b/src/api.rs
index bf608b3..fb4fc42 100644
--- a/src/api.rs
+++ b/src/api.rs
@@ -62,6 +62,7 @@ impl TwoFactorProviderType {
pub fn message(&self) -> &str {
match *self {
Self::Authenticator => "Enter the 6 digit verification code from your authenticator app.",
+ Self::Yubikey => "Insert your Yubikey and push the button.",
Self::Email => "Enter the PIN you received via email.",
_ => "Enter the code."
}
@@ -71,6 +72,7 @@ impl TwoFactorProviderType {
pub fn header(&self) -> &str {
match *self {
Self::Authenticator => "Authenticator App",
+ Self::Yubikey => "Yubikey",
Self::Email => "Email Code",
_ => "Two Factor Authentication",
}
diff --git a/src/bin/rbw-agent/actions.rs b/src/bin/rbw-agent/actions.rs
index 7b5dc58..066a27f 100644
--- a/src/bin/rbw-agent/actions.rs
+++ b/src/bin/rbw-agent/actions.rs
@@ -148,6 +148,7 @@ pub async fn login(
Err(rbw::error::Error::TwoFactorRequired { providers }) => {
let supported_types = vec![
rbw::api::TwoFactorProviderType::Authenticator,
+ rbw::api::TwoFactorProviderType::Yubikey,
rbw::api::TwoFactorProviderType::Email,
];