Crate google_authenticator[][src]

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.