This Rust crate can be used to interact with the Google Authenticator mobile app for 2-factor-authentication.This Rust crates can generate secrets, generate codes, validate codes and present a QR-Code for scanning the secret.It implements TOTP according to RFC6238 More about Google GoogleAuthenticator see:Wiki
Add this to your Cargo.toml:
[dependencies]
google-authenticator = "0.1.5"use google_authenticator::GoogleAuthenticator;
fn main() {
let secret = "I3VFM3JKMNDJCDH5BMBEEQAW6KJ6NOE3";
let auth = GoogleAuthenticator::new();
// let secret = auth.create_secret(32);
let code = auth.get_code(&secret, 0).unwrap();
assert!(auth.verify_code(&secret, &code, 1, 0).unwrap());
}use google_authenticator::GoogleAuthenticator;
fn main() {
let auth = GoogleAuthenticator::new();
let secret = "I3VFM3JKMNDJCDH5BMBEEQAW6KJ6NOE3";
println!(
"{}",
auth.qr_code_url(secret, "qr_code", "name", 200, 200, 'H')
);
}Change Cargo.toml to
[dependencies.google-authenticator]
version = "0.1.5"
default-features = false
features = ["with-qrcode"]use google_authenticator::GoogleAuthenticator;
fn main() {
let secret = "I3VFM3JKMNDJCDH5BMBEEQAW6KJ6NOE3";
let auth = GoogleAuthenticator::new();
println!(
"{}",
auth.qr_code(secret, "qr_code", "name", 200, 200, 'H')
.unwrap()
);
}You can post a new issue for help.