diff --git a/cosmos/azure-spring-data-cosmos/cosmos-aad-sample/src/main/java/com/azure/spring/data/cosmos/example/quickstart/sync/CosmosProperties.java b/cosmos/azure-spring-data-cosmos/cosmos-aad-sample/src/main/java/com/azure/spring/data/cosmos/example/quickstart/sync/CosmosProperties.java index 6f02b046a..28f20df93 100644 --- a/cosmos/azure-spring-data-cosmos/cosmos-aad-sample/src/main/java/com/azure/spring/data/cosmos/example/quickstart/sync/CosmosProperties.java +++ b/cosmos/azure-spring-data-cosmos/cosmos-aad-sample/src/main/java/com/azure/spring/data/cosmos/example/quickstart/sync/CosmosProperties.java @@ -11,6 +11,7 @@ public class CosmosProperties { private String defaultScope; private String tenantId; private String clientId; + private String managedIdentityId; private String clientSecret; private String databaseName; private boolean queryMetricsEnabled; @@ -47,6 +48,14 @@ public void setClientId(String clientId) { this.clientId = clientId; } + public String getManagedIdentityId() { + return managedIdentityId; + } + + public void setManagedIdentityId(String managedIdentityId) { + this.managedIdentityId = managedIdentityId; + } + public String getClientSecret() { return clientSecret; } diff --git a/cosmos/azure-spring-data-cosmos/cosmos-aad-sample/src/main/java/com/azure/spring/data/cosmos/example/quickstart/sync/SampleAppConfiguration.java b/cosmos/azure-spring-data-cosmos/cosmos-aad-sample/src/main/java/com/azure/spring/data/cosmos/example/quickstart/sync/SampleAppConfiguration.java index 1a0974b35..17535fc90 100644 --- a/cosmos/azure-spring-data-cosmos/cosmos-aad-sample/src/main/java/com/azure/spring/data/cosmos/example/quickstart/sync/SampleAppConfiguration.java +++ b/cosmos/azure-spring-data-cosmos/cosmos-aad-sample/src/main/java/com/azure/spring/data/cosmos/example/quickstart/sync/SampleAppConfiguration.java @@ -8,6 +8,7 @@ import com.azure.cosmos.CosmosClientBuilder; import com.azure.cosmos.DirectConnectionConfig; import com.azure.identity.ClientSecretCredentialBuilder; +import com.azure.identity.DefaultAzureCredentialBuilder; import com.azure.spring.data.cosmos.config.AbstractCosmosConfiguration; import com.azure.spring.data.cosmos.config.CosmosConfig; import com.azure.spring.data.cosmos.core.ResponseDiagnostics; @@ -42,11 +43,10 @@ public SampleAppConfiguration(CosmosProperties properties){ @Bean public CosmosClientBuilder cosmosClientBuilder() { DirectConnectionConfig directConnectionConfig = DirectConnectionConfig.getDefaultConfig(); - TokenCredential servicePrincipal = new ClientSecretCredentialBuilder() + TokenCredential servicePrincipal = new DefaultAzureCredentialBuilder() .authorityHost("https://login.microsoftonline.com") //this line is not required (is redundant) if connecting to AAD .tenantId(properties.getTenantId()) - .clientId(properties.getClientId()) - .clientSecret(properties.getClientSecret()) + .managedIdentityClientId(properties.getClientId()) .build(); //if this check fails, review error in logs and AAD setup as well as connectivity to AAD. diff --git a/cosmos/azure-spring-data-cosmos/cosmos-aad-sample/src/main/resources/application.yaml b/cosmos/azure-spring-data-cosmos/cosmos-aad-sample/src/main/resources/application.yaml index 5c60db8b3..f68d6dead 100644 --- a/cosmos/azure-spring-data-cosmos/cosmos-aad-sample/src/main/resources/application.yaml +++ b/cosmos/azure-spring-data-cosmos/cosmos-aad-sample/src/main/resources/application.yaml @@ -7,6 +7,7 @@ spring: tenantId: clientId: clientSecret: + managedIdentityId: defaultScope: https://.documents.azure.com/.default databaseName: testdb queryMetricsEnabled: true