#credentials #profile #applications #model #credent #manage #name

credent_model

表示应用程序凭证的数据类型

5个版本 (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日

#577认证

每月下载 23次
用于 4 crate

MIT/Apache

14KB
389

🔑 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(())
    })
}

更多示例请见这里

# 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–1MB
~24K SLoC