Parse otpauth URL with Steam as issuer as Steam TOTP
diff --git a/src/lib.rs b/src/lib.rs
index 82cecca..3b08937 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -516,7 +516,10 @@ impl TOTP {
match url.host() {
Some(Host::Domain("totp")) => {}
#[cfg(feature = "steam")]
- Some(Host::Domain("steam")) => algorithm = Algorithm::Steam,
+ Some(Host::Domain("steam")) => {
+ algorithm = Algorithm::Steam;
+ digits = 5;
+ }
_ => {
return Err(TotpUrlError::Host(url.host().unwrap().to_string()));
}
@@ -570,6 +573,12 @@ impl TOTP {
)
.ok_or_else(|| TotpUrlError::Secret(value.to_string()))?;
}
+ #[cfg(feature = "steam")]
+ "issuer" if value.to_lowercase() == "steam" => {
+ algorithm = Algorithm::Steam;
+ digits = 5;
+ issuer = Some(value.into());
+ }
"issuer" => {
let param_issuer = value
.parse::<String>()