6个版本 (3个重大更新)

0.4.1 2021年4月4日
0.4.0 2021年3月21日
0.3.0 2021年3月20日
0.2.1 2021年3月20日
0.1.0 2020年11月5日

#910 in 身份验证

每月31次下载
credent 中使用

MIT/Apache

28KB
622

🔑 Credent

Crates.io CI Coverage Status

管理 ~/.config/<app>/credentials

用法

将以下内容添加到Cargo.toml中

credent = { version = "0.4.1", features = ["backend-smol"] } # or "backend-tokio"

示例代码

use credent::{
    cli::CredentialsCliReader,
    fs::{model::AppName, CredentialsFile, CredentialsFileStorer},
    model::Credentials,
};

/// Application name
const CREDENT: AppName<'_> = AppName("credent");

fn main() -> Result<(), Box<dyn std::error::Error>> {
    smol::run(async {
        let credentials = CredentialsCliReader::<Credentials>::read_from_tty().await?;
        println!("credentials: {}", credentials);

        CredentialsFileStorer::<Credentials>::store(CREDENT, &credentials).await?;

        println!(
            "credentials written to: {}",
            CredentialsFile::<Credentials>::path(CREDENT)?.display()
        );

        Result::<(), Box<dyn std::error::Error>>::Ok(())
    })
}

更多示例请参阅 examples

# Use either "backend-smol" or "backend-tokio"
cargo run --features "backend-smol" --example simple
cargo run --features "backend-smol" --example demo
cargo run --features "backend-smol" --example profiles
cargo run --features "backend-smol" --example profiles -- --profile development

许可证

许可协议为以下之一

任选其一。

贡献

除非您明确声明,否则根据Apache-2.0许可证定义,您提交的任何有意包含在本作品中的贡献,将双重许可如上所述,无任何附加条款或条件。

依赖项

~0.4–14MB
~140K SLoC