From 5e2de1182a392d95fb382aa7e76c9cdba68336be Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 12 May 2016 14:05:48 -0700 Subject: [PATCH] enabling Azure.authenticate(File).withDefaultSubscription() based on the subscription provided in the file --- .../ApplicationTokenCredentials.java | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/azure-client-authentication/src/main/java/com/microsoft/azure/credentials/ApplicationTokenCredentials.java b/azure-client-authentication/src/main/java/com/microsoft/azure/credentials/ApplicationTokenCredentials.java index 1305f2c2c12db..c9eb75f58209f 100644 --- a/azure-client-authentication/src/main/java/com/microsoft/azure/credentials/ApplicationTokenCredentials.java +++ b/azure-client-authentication/src/main/java/com/microsoft/azure/credentials/ApplicationTokenCredentials.java @@ -33,7 +33,9 @@ public class ApplicationTokenCredentials extends TokenCredentials { private AzureEnvironment environment; /** The current authentication result. */ private AuthenticationResult authenticationResult; - + /** The default subscription to use, if any */ + private String defaultSubscription; + /** * Initializes a new instance of the UserTokenCredentials. * @@ -80,7 +82,18 @@ public String toString() { } } - + /** + * @return The default subscription ID, if any + */ + public String defaultSubscriptionId() { + return defaultSubscription; + } + + ApplicationTokenCredentials withDefaultSubscriptionId(String subscriptionId) { + this.defaultSubscription = subscriptionId; + return this; + } + /** * Initializes the credentials based on the provided credentials file * @param credentialsFile A file with credentials, using the standard Java properties format @@ -113,7 +126,8 @@ public static ApplicationTokenCredentials fromFile(File credentialsFile) throws final String mgmtUri = authSettings.getProperty(CredentialSettings.MANAGEMENT_URI.toString()); final String authUrl = authSettings.getProperty(CredentialSettings.AUTH_URL.toString()); final String baseUrl = authSettings.getProperty(CredentialSettings.BASE_URL.toString()); - + final String defaultSubscriptionId = authSettings.getProperty(CredentialSettings.SUBSCRIPTION_ID.toString()); + return new ApplicationTokenCredentials( clientId, tenantId, @@ -123,7 +137,7 @@ public static ApplicationTokenCredentials fromFile(File credentialsFile) throws mgmtUri, true, baseUrl) - ); + ).withDefaultSubscriptionId(defaultSubscriptionId); } @@ -153,7 +167,7 @@ public String getDomain() { public String getSecret() { return secret; } - + /** * Gets the Azure environment to authenticate with. *