diff --git a/sdk/identity/azure-identity/CHANGELOG.md b/sdk/identity/azure-identity/CHANGELOG.md index 875eb13a8ff6..e789c805ecd5 100644 --- a/sdk/identity/azure-identity/CHANGELOG.md +++ b/sdk/identity/azure-identity/CHANGELOG.md @@ -8,6 +8,7 @@ - Renamed `enableAzureTokenProxy()` method in `WorkloadIdentityCredentialBuilder` to `enableAzureProxy()`. These changes only affect code written against beta version 1.19.0-beta.1. ### Bugs Fixed +- Fixed `NullPointerException` in `IdentityClientOptions` when running in GraalVM native images (e.g., Quarkus applications). Replaced reflection-dependent `AzureIdentityEnvVars` enum usage with direct string literal to ensure compatibility with native compilation. ### Other Changes - Removed unused jetty, redisson, and lettuce-core dependencies. diff --git a/sdk/identity/azure-identity/src/main/java/com/azure/identity/implementation/IdentityClientOptions.java b/sdk/identity/azure-identity/src/main/java/com/azure/identity/implementation/IdentityClientOptions.java index d934c23c1d67..c7d9e3e244f8 100644 --- a/sdk/identity/azure-identity/src/main/java/com/azure/identity/implementation/IdentityClientOptions.java +++ b/sdk/identity/azure-identity/src/main/java/com/azure/identity/implementation/IdentityClientOptions.java @@ -15,7 +15,6 @@ import com.azure.core.util.logging.ClientLogger; import com.azure.identity.AuthenticationRecord; import com.azure.identity.AzureAuthorityHosts; -import com.azure.identity.AzureIdentityEnvVars; import com.azure.identity.BrowserCustomizationOptions; import com.azure.identity.ChainedTokenCredential; import com.azure.identity.TokenCachePersistenceOptions; @@ -40,6 +39,7 @@ public final class IdentityClientOptions implements Cloneable { private static final int MAX_RETRY_DEFAULT_LIMIT = 6; public static final String AZURE_IDENTITY_DISABLE_MULTI_TENANT_AUTH = "AZURE_IDENTITY_DISABLE_MULTITENANTAUTH"; public static final String AZURE_POD_IDENTITY_AUTHORITY_HOST = "AZURE_POD_IDENTITY_AUTHORITY_HOST"; + private static final String AZURE_TOKEN_CREDENTIALS = "AZURE_TOKEN_CREDENTIALS"; private String authorityHost; private BrowserCustomizationOptions browserCustomizationOptions; @@ -693,7 +693,7 @@ private void loadFromConfiguration(Configuration configuration) { = configuration.get(Configuration.PROPERTY_AZURE_AUTHORITY_HOST, AzureAuthorityHosts.AZURE_PUBLIC_CLOUD); imdsAuthorityHost = configuration.get(AZURE_POD_IDENTITY_AUTHORITY_HOST, IdentityConstants.DEFAULT_IMDS_ENDPOINT); - dacEnvConfiguredCredential = configuration.get(AzureIdentityEnvVars.AZURE_TOKEN_CREDENTIALS.toString()); + dacEnvConfiguredCredential = configuration.get(AZURE_TOKEN_CREDENTIALS); ValidationUtil.validateAuthHost(authorityHost, LOGGER); multiTenantAuthDisabled = configuration.get(AZURE_IDENTITY_DISABLE_MULTI_TENANT_AUTH, false); }