Azure Identity SDK Acceptance Criteria
SDK: azure-identityRepository: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/identity/azure-identityCommit: mainPurpose: Skill testing acceptance criteria for validating generated code correctness
1. Correct Import Patterns
1.1 ✅ CORRECT: Sync Credential Imports
python
from azure.identity import (
DefaultAzureCredential,
ManagedIdentityCredential,
ClientSecretCredential,
ClientCertificateCredential,
InteractiveBrowserCredential,
ChainedTokenCredential,
TokenCachePersistenceOptions,
AzureCliCredential,
WorkloadIdentityCredential,
DeviceCodeCredential,
)1.2 ✅ CORRECT: Async Credential Imports
python
from azure.identity.aio import (
DefaultAzureCredential,
ManagedIdentityCredential,
ClientSecretCredential,
ClientCertificateCredential,
InteractiveBrowserCredential,
ChainedTokenCredential,
AzureCliCredential,
WorkloadIdentityCredential,
)1.3 Anti-Patterns (ERRORS)
❌ INCORRECT: Using sync credential in async code
python
# WRONG - async code must use azure.identity.aio credentials
from azure.identity import DefaultAzureCredential
from azure.storage.blob.aio import BlobServiceClient
credential = DefaultAzureCredential() # sync credential with async client
async with BlobServiceClient(account_url, credential=credential) as client:
pass❌ INCORRECT: TokenCachePersistenceOptions is not in azure.identity.aio
python
# WRONG - token cache options are only in azure.identity (not .aio)
from azure.identity.aio import TokenCachePersistenceOptions2. DefaultAzureCredential
2.1 ✅ CORRECT: Basic DefaultAzureCredential
python
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
token = credential.get_token("https://management.azure.com/.default")
print(token.expires_on)2.2 ✅ CORRECT: Customize DefaultAzureCredential
python
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential(
exclude_environment_credential=True,
exclude_shared_token_cache_credential=True,
exclude_interactive_browser_credential=False,