Crates.io | azure_identity |
lib.rs | azure_identity |
version | 0.20.0 |
source | src |
created_at | 2022-01-24 20:24:27.85507 |
updated_at | 2024-04-24 16:21:48.259073 |
description | Rust wrappers around Microsoft Azure REST APIs - Azure identity helper crate |
homepage | https://github.com/azure/azure-sdk-for-rust |
repository | https://github.com/azure/azure-sdk-for-rust |
max_upload_size | |
id | 520384 |
size | 228,933 |
Azure Identity crate for the unofficial Microsoft Azure SDK for Rust. This crate is part of a collection of crates: for more information please refer to https://github.com/azure/azure-sdk-for-rust.
This crate provides several implementations of the azure_core::auth::TokenCredential trait.
It is recommended to start with azure_identity::create_credential()?
, which will create an instance of DefaultAzureCredential
by default. If you want to use a specific credential type, the AZURE_CREDENTIAL_KIND
environment variable may be set to a value from azure_credential_kinds
, such as azurecli
or 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(())
}
The supported authentication flows are:
License: MIT