Add TOTP::new_steam as custom provider
This commit is contained in:
parent
3f7f91299f
commit
c5fd8207fb
|
@ -0,0 +1,45 @@
|
|||
#[cfg(feature = "steam")]
|
||||
use crate::{Algorithm, TOTP};
|
||||
|
||||
#[cfg(feature = "steam")]
|
||||
impl TOTP {
|
||||
#[cfg(feature = "otpauth")]
|
||||
/// Will create a new instance of TOTP using the Steam algorithm with given parameters. See [the doc](struct.TOTP.html#fields) for reference as to how to choose those values
|
||||
///
|
||||
/// # Description
|
||||
/// * `secret`: expect a non-encoded value, to pass in base32 string use `Secret::Encoded(String)`
|
||||
///
|
||||
/// ```rust
|
||||
/// use totp_rs::{Secret, TOTP};
|
||||
/// let secret = Secret::Encoded("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567".to_string());
|
||||
/// let totp = TOTP::new_steam(secret.to_bytes().unwrap(), Some("username".to_string()));
|
||||
/// ```
|
||||
pub fn new_steam(secret: Vec<u8>, account_name: Option<String>) -> TOTP {
|
||||
Self::new_unchecked(
|
||||
Algorithm::Steam,
|
||||
5,
|
||||
1,
|
||||
30,
|
||||
secret,
|
||||
Some("Steam".into()),
|
||||
account_name
|
||||
.map(|n| format!("Steam:{}", n))
|
||||
.unwrap_or_else(|| "".into()),
|
||||
)
|
||||
}
|
||||
|
||||
#[cfg(not(feature = "otpauth"))]
|
||||
/// Will create a new instance of TOTP using the Steam algorithm with given parameters. See [the doc](struct.TOTP.html#fields) for reference as to how to choose those values
|
||||
///
|
||||
/// # Description
|
||||
/// * `secret`: expect a non-encoded value, to pass in base32 string use `Secret::Encoded(String)`
|
||||
///
|
||||
/// ```rust
|
||||
/// use totp_rs::{Secret, TOTP};
|
||||
/// let secret = Secret::Encoded("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567".to_string());
|
||||
/// let totp = TOTP::new_steam(secret.to_bytes().unwrap());
|
||||
/// ```
|
||||
pub fn new_steam(secret: Vec<u8>) -> TOTP {
|
||||
Self::new_unchecked(Algorithm::Steam, 5, 1, 30, secret)
|
||||
}
|
||||
}
|
|
@ -47,6 +47,7 @@
|
|||
//! # }
|
||||
//! ```
|
||||
|
||||
mod custom_providers;
|
||||
mod rfc;
|
||||
mod secret;
|
||||
mod url_error;
|
||||
|
|
Loading…
Reference in New Issue