Minimal Azure REST client with Entra ID (formerly AAD) authentication. Zero external dependencies.
npm install @takodotid/azure-restMinimal Azure REST client with Entra ID (formerly AAD) authentication. No external dependencies.
- Authenticate to Azure REST APIs using Entra ID (AAD)
- Supports Azure CLI, Managed Identity, Service Principal, and Workload Identity credentials
- Zero external dependencies
- ESM & CommonJS support
> Requirement: Node.js 20+ or any runtime with built-in fetch (e.g. Bun, Deno).
``sh`
pnpm add @takodotid/azure-restor
yarn add @takodotid/azure-restor
npm install @takodotid/azure-rest
Here's a quick example to get you started:
`ts
import { AzureClient, ChainedCredential } from "@takodotid/azure-rest";
const client = new AzureClient({
baseUrl: "https://management.azure.com", // Target Azure Management REST API endpoint
credential: {
scope: "https://management.azure.com/.default",
helper: new ChainedCredential(),
// Optional: you can provide a custom token builder if needed
// builder: (token) => { Authorization: Bearer ${token}; }
}
});
// Example: Get a list of resource groups
const response = await client.get("/subscriptions/
// Get the JSON response data. Full fetch API.
console.log(await response.json());
`
> Note: Make sure your environment is authenticated (e.g., via Azure CLI, Managed Identity, or Service Principal).
You can use any of these credential helpers (just pick one that fits your use case):
- AzureCliCredential β Uses the token from Azure CLI (az login). Great for local dev.
- ManagedIdentityCredential β For apps running on Azure VM, App Service, Container Apps, etc. No secrets required.
- ServicePrincipalCredential β Authenticates using client ID & secret/certificate. Common for CI/CD or automation.
- WorkloadIdentityCredential β For OIDC/OpenID Connect scenarios, e.g., GitHub Actions to Azure and Azure Kubernetes Service (AKS).
- ChainedCredential β (Recommended) Automatically picks the most available one, in this order: Workload Identity β Managed Identity β Service Principal β Azure CLI.
> Recommended: Just use ChainedCredential` unless you have a strong reason to pick something else. Itβll do the right thing in most environments.
You can explore all available methods and options via JSDoc and TypeScript typings, no need to memorize anything. Just let your editor guide you!
---
Made with β€οΈ by Tako Devs.