#vault #api #client #hashicorp #login

vaultrs-login

Adds login support for Vault clients from vaultrs

8 releases

0.1.7 Mar 25, 2023
0.1.6 May 13, 2022
0.1.5 Mar 15, 2022
0.1.4 Sep 22, 2021

#267 in Authentication

Download history 612/week @ 2023-06-01 860/week @ 2023-06-08 830/week @ 2023-06-15 646/week @ 2023-06-22 385/week @ 2023-06-29 616/week @ 2023-07-06 574/week @ 2023-07-13 577/week @ 2023-07-20 438/week @ 2023-07-27 455/week @ 2023-08-03 290/week @ 2023-08-10 383/week @ 2023-08-17 483/week @ 2023-08-24 521/week @ 2023-08-31 389/week @ 2023-09-07 247/week @ 2023-09-14

1,729 downloads per month
Used in 2 crates

MIT license

385KB
8K SLoC

vaultrs-login

Adds login support for Vault clients from [vaultrs][1].

Installation

Add vaultrs-login as a dependency to your cargo.toml:

[dependencies]
vaultrs-login = "0.1.6"

Usage

use vaultrs::client::{VaultClient, VaultClientSettingsBuilder};
use vaultrs_login::LoginClient;
use vaultrs_login::engines::approle::AppRoleLogin;

// Create a client
let mut client = VaultClient::new(
    VaultClientSettingsBuilder::default()
        .address("https://127.0.0.1:8200")
        .build()
        .unwrap()
).unwrap();

// Use one of the login flows to obtain a token for the client
let role_id = String::from("my-role-id");
let secret_id = String::from("secret");
let login = AppRoleLogin { role_id, secret_id };

client.login("approle", &login).await; // Token is automatically set to client

Testing

Run tests with cargo:

cargo test

lib.rs:

vaultrs-login

Adds login support for Vault clients from [vaultrs][1].

Installation

Add vaultrs-login as a dependency to your cargo.toml:

[dependencies]
vaultrs-login = "0.1.5"

Usage

use vaultrs::client::{VaultClient, VaultClientSettingsBuilder};
use vaultrs_login::LoginClient;
use vaultrs_login::engines::approle::AppRoleLogin;

// Create a client
let mut client = VaultClient::new(
    VaultClientSettingsBuilder::default()
        .address("https://127.0.0.1:8200")
        .build()
        .unwrap()
).unwrap();

// Use one of the login flows to obtain a token for the client
let role_id = String::from("my-role-id");
let secret_id = String::from("secret");
let login = AppRoleLogin { role_id, secret_id };

client.login("approle", &login).await; // Token is automatically set to client

Testing

Run tests with cargo:

cargo test

Dependencies

~7–25MB
~399K SLoC