Crate yubico_otp

source ·
Expand description

Yubico OTP verification library.

Example

use yubico_otp::{client::Client, params::ApiCredentials, params::ValidationOption};
use std::process::ExitCode;

#[tokio::main]
async fn main() -> Result<ExitCode, Box<dyn std::error::Error>> {
    let client = reqwest::Client::new();
    let creds = ApiCredentials::from_base64_secret(
        "your_client_id".into(),
        "your_base64_secret_key",
    )?;
    let client = Client::new(&client, creds);
    let opt = ValidationOption::default();
    let (status, resp) = client
        .verify(std::env::args().nth(1).expect("OTP missing"), &opt)
        .await?;
    eprintln!("Status: {:?}", status);
    eprintln!("Response: {:?}", resp);
    Ok(if status.is_ok() {
       ExitCode::SUCCESS
    } else {
       ExitCode::FAILURE
    })
}

Modules

  • Async verify client for Yubico OTP.
  • Modhex encoding/decoding.
  • Options and parameters for the verify request.
  • Response from the verify request.

Enums

  • Errors that can occur during the verify request.