#login #vault #hashi-corp #client #api-client #api

vaultrs-login

Adds login support for Vault clients from vaultrs

10 releases

0.2.1 Mar 20, 2024
0.2.0 Mar 16, 2024
0.1.7 Mar 25, 2023
0.1.6 May 13, 2022
0.1.4 Sep 22, 2021

#331 in Authentication

Download history 404/week @ 2023-12-22 280/week @ 2023-12-29 402/week @ 2024-01-05 558/week @ 2024-01-12 521/week @ 2024-01-19 475/week @ 2024-01-26 606/week @ 2024-02-02 382/week @ 2024-02-09 909/week @ 2024-02-16 1850/week @ 2024-02-23 1173/week @ 2024-03-01 534/week @ 2024-03-08 1890/week @ 2024-03-15 981/week @ 2024-03-22 1162/week @ 2024-03-29 1055/week @ 2024-04-05

5,215 downloads per month
Used in 2 crates

MIT license

465KB
10K 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.2.0"

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.2.0"

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–27MB
~387K SLoC