Azure Identity SDK for TypeScript Acceptance Criteria
SDK: @azure/identityRepository: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identityCommit: mainPurpose: Skill testing acceptance criteria for validating generated code correctness
1. Correct Import Patterns
1.1 ✅ CORRECT: ESM Imports
typescript
import { DefaultAzureCredential } from "@azure/identity";
import {
ManagedIdentityCredential,
ClientSecretCredential,
InteractiveBrowserCredential,
ChainedTokenCredential,
AzureCliCredential,
DeviceCodeCredential,
} from "@azure/identity";1.2 ✅ CORRECT: Type Imports
typescript
import type { TokenCredential, AccessToken, GetTokenOptions } from "@azure/core-auth";1.3 Anti-Patterns (ERRORS)
❌ INCORRECT: CommonJS require
typescript
// WRONG - Use ESM imports
const { DefaultAzureCredential } = require("@azure/identity");❌ INCORRECT: Wrong package name
typescript
// WRONG - Package name is @azure/identity, not azure-identity
import { DefaultAzureCredential } from "azure-identity";2. DefaultAzureCredential
2.1 ✅ CORRECT: Basic DefaultAzureCredential
typescript
import { DefaultAzureCredential } from "@azure/identity";
const credential = new DefaultAzureCredential();
// Use with any Azure SDK client
import { BlobServiceClient } from "@azure/storage-blob";
const blobClient = new BlobServiceClient(
"https://<account>.blob.core.windows.net",
credential
);2.2 ✅ CORRECT: Get Token Directly
typescript
import { DefaultAzureCredential } from "@azure/identity";
const credential = new DefaultAzureCredential();
const token = await credential.getToken("https://management.azure.com/.default");
console.log(token.expiresOnTimestamp);2.3 ✅ CORRECT: DefaultAzureCredential with Options
typescript
import { DefaultAzureCredential } from "@azure/identity";
const credential = new DefaultAzureCredential({