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日

#439 in 认证

MIT/Apache

110KB
1K SLoC

🔑 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许可证定义,你提交的任何有意包含在作品中的贡献,应如上所述双许可,不附加任何额外条款或条件。

依赖项

~2–15MB
~159K SLoC