Expand description

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

Examples

use google_authenticator::GoogleAuthenticator;

let secret = "I3VFM3JKMNDJCDH5BMBEEQAW6KJ6NOE3";

let auth = GoogleAuthenticator::new();
let code = auth.get_code(secret,0).unwrap();
if auth.verify_code(secret, code.as_str(), 1, 0) {
    println!("match!");
}

Macros

  • A macro that can be used for convenient access to the function GoogleAuthenticator::create_secret, by providing a default of 32 to the length parameter.
  • A macro that can be used for convenient access to the function GoogleAuthenticator::get_code, by providing a default of the current time to the times_slice parameter.
  • A macro that can be used for convenient access to the function GoogleAuthenticator::qr_code, by providing a default of 200 to the width parameter, 200 to the height parameter, and ErrorCorrectionLevel::Medium to the level parameter.
  • A macro that can be used for convenient access to the function GoogleAuthenticator::qr_code_url, by providing a default of 200 to the width parameter, 200 to the height parameter, and ErrorCorrectionLevel::Medium to the level parameter.
  • A macro that can be used for convenient access to the function GoogleAuthenticator::verify_code, by providing a default of 0 to the discrepancy parameter, and the current time to the times_slice parameter.

Structs

  • A globally accessible, thread safe instance of a GoogleAuthenticator. Note that if the code panics while this variable is in scope, the std::sync::Mutex can be poisoned, preventing further access to this variable.
  • The main interface of this library. It exports several function that are necessary to interface with google authenticator.

Enums

  • Controls the amount of fault tolerance that the QR code should accept. Require the feature flag with-qrcode.
  • Represents any of the reasons why using 2fa with Google Authenenticator can fail.

Type Definitions

  • A type alias that can be used for fallible functions with google_authenticator.