aboutsummaryrefslogtreecommitdiffstats
path: root/src/actions.rs
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2020-05-28 01:10:02 -0400
committerJesse Luehrs <doy@tozt.net>2020-05-28 02:45:51 -0400
commit46d1e9aa0221dca2051bad8f2e0b1bd37bea9b04 (patch)
tree7429d37913122b3b02b1a864d3e261a37eb7f689 /src/actions.rs
parent6f5e4bcd777670ebe0f6bc56ef04d1769bf30a1c (diff)
downloadrbw-46d1e9aa0221dca2051bad8f2e0b1bd37bea9b04.tar.gz
rbw-46d1e9aa0221dca2051bad8f2e0b1bd37bea9b04.zip
add authenticator 2fa support
Diffstat (limited to 'src/actions.rs')
-rw-r--r--src/actions.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/actions.rs b/src/actions.rs
index 172dba6..c63191f 100644
--- a/src/actions.rs
+++ b/src/actions.rs
@@ -3,6 +3,8 @@ use crate::prelude::*;
pub async fn login(
email: &str,
password: &crate::locked::Password,
+ two_factor_token: Option<&str>,
+ two_factor_provider: Option<crate::api::TwoFactorProviderType>,
) -> Result<(String, String, u32, String, crate::locked::Keys)> {
let config = crate::config::Config::load_async().await?;
let client =
@@ -13,7 +15,12 @@ pub async fn login(
crate::identity::Identity::new(email, password, iterations)?;
let (access_token, refresh_token, protected_key) = client
- .login(&identity.email, &identity.master_password_hash)
+ .login(
+ &identity.email,
+ &identity.master_password_hash,
+ two_factor_token,
+ two_factor_provider,
+ )
.await?;
let master_keys = crate::cipherstring::CipherString::new(&protected_key)?
.decrypt_locked_symmetric(&identity.keys)?;