workshop/azd-sample/src/ReleCloudLite.Web/Data/AzureExtensions.cs (15 lines of code) (raw):

using Azure.Core; using Azure.Identity; namespace ReleCloudLite.Web.Data; internal static class AzureExtensions { public static TokenCredential GetAzureTokenCredential(this WebApplicationBuilder builder) => builder.Configuration["App:AzureCredentialType"] switch { "AzureCLI" => new AzureCliCredential(), "Environment" => new EnvironmentCredential(), "ManagedIdentity" => new ManagedIdentityCredential(builder.Configuration["AZURE_CLIENT_ID"]), "VisualStudio" => new VisualStudioCredential(), "VisualStudioCode" => new VisualStudioCodeCredential(), _ => new DefaultAzureCredential(new DefaultAzureCredentialOptions { ManagedIdentityClientId = builder.Configuration["AZURE_CLIENT_ID"] }), }; }