19次重大版本发布
0.20.0 | 2024年4月24日 |
---|---|
0.19.0 | 2024年1月5日 |
0.18.1 | 2023年12月11日 |
0.17.0 | 2023年11月3日 |
0.1.1 | 2022年1月25日 |
#58 in 网络编程
77,656 每月下载量
用于 23 个库 (17 直接)
360KB
8K SLoC
azure_identity
Azure Identity库,用于非官方的Microsoft Azure SDK for Rust。此库是集合库的一部分:更多详细信息请参阅 https://github.com/azure/azure-sdk-for-rust。
此库提供对azure_core::auth::TokenCredential
trait的几个实现。建议从azure_identity::create_credential()?
开始,它将默认创建一个DefaultAzureCredential
实例。如果您想使用特定的凭据类型,可以将AZURE_CREDENTIAL_KIND
环境变量设置为azure_credential_kinds
中的值,例如azurecli
或virtualmachine
。
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let subscription_id =
std::env::var("AZURE_SUBSCRIPTION_ID").expect("AZURE_SUBSCRIPTION_ID required");
let credential = azure_identity::create_credential()?;
// Let's enumerate the Azure storage accounts in the subscription using the REST API directly.
// This is just an example. It is easier to use the Azure SDK for Rust crates.
let url = url::Url::parse(&format!("https://management.azure.com/subscriptions/{subscription_id}/providers/Microsoft.Storage/storageAccounts?api-version=2019-06-01"))?;
let access_token = credential
.get_token(&["https://management.azure.com/.default"])
.await?;
let response = reqwest::Client::new()
.get(url)
.header(
"Authorization",
format!("Bearer {}", access_token.token.secret()),
)
.send()
.await?
.text()
.await?;
println!("{response}");
Ok(())
}
支持的认证流程包括
许可证: MIT
依赖项
~9–24MB
~379K SLoC