public static IHDInsightSubscriptionCredentials GetAccessTokenCredentials(this IAzureHDInsightCommonCommandBase command, AzureSubscription currentSubscription, AzureAccount azureAccount, AzureEnvironment environment) { ProfileClient profileClient = new ProfileClient(); AzureContext azureContext = new AzureContext { Subscription = currentSubscription, Environment = environment, Account = azureAccount }; var cloudCredentials = AzureSession.AuthenticationFactory.GetSubscriptionCloudCredentials(azureContext) as AccessTokenCredential; if (cloudCredentials != null) { var field = typeof(AccessTokenCredential).GetField("token", BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance); var accessToken = field.GetValue(cloudCredentials) as IAccessToken; if (accessToken != null) { return(new HDInsightAccessTokenCredential() { SubscriptionId = currentSubscription.Id, AccessToken = accessToken.AccessToken }); } } return(null); }
public static IHDInsightSubscriptionCredentials GetSubscriptionCredentials( this IAzureHDInsightCommonCommandBase command, AzureSubscription currentSubscription, AzureEnvironment environment, AzureProfile profile) { var accountId = currentSubscription.Account; Debug.Assert(profile.Accounts.ContainsKey(accountId)); if (profile.Accounts[accountId].Type == AzureAccount.AccountType.Certificate) { return(GetSubscriptionCertificateCredentials(command, currentSubscription, profile.Accounts[accountId], environment)); } else if (profile.Accounts[accountId].Type == AzureAccount.AccountType.User) { return(GetAccessTokenCredentials(command, currentSubscription, profile.Accounts[accountId], environment)); } else if (profile.Accounts[accountId].Type == AzureAccount.AccountType.ServicePrincipal) { return(GetAccessTokenCredentials(command, currentSubscription, profile.Accounts[accountId], environment)); } throw new NotSupportedException(); }
public static IHDInsightSubscriptionCredentials GetAccessTokenCredentials(this IAzureHDInsightCommonCommandBase command, WindowsAzureSubscription currentSubscription) { var accessToken = currentSubscription.TokenProvider.GetCachedToken(currentSubscription, currentSubscription.ActiveDirectoryUserId); return(new HDInsightAccessTokenCredential() { SubscriptionId = ResolveSubscriptionId(currentSubscription.SubscriptionId), AccessToken = accessToken.AccessToken }); }
public static IHDInsightSubscriptionCredentials GetSubscriptionCredentials(this IAzureHDInsightCommonCommandBase command, WindowsAzureSubscription currentSubscription) { if (currentSubscription.Certificate.IsNotNull()) { return(GetSubscriptionCertificateCredentials(command, currentSubscription)); } else if (currentSubscription.ActiveDirectoryUserId.IsNotNull()) { return(GetAccessTokenCredentials(command, currentSubscription)); } throw new NotSupportedException(); }
public static IHDInsightSubscriptionCredentials GetSubscriptionCertificateCredentials(this IAzureHDInsightCommonCommandBase command, WindowsAzureSubscription currentSubscription) { return(new HDInsightCertificateCredential { SubscriptionId = ResolveSubscriptionId(currentSubscription.SubscriptionId), Certificate = currentSubscription.Certificate, Endpoint = currentSubscription.ServiceEndpoint, }); }
public static IHDInsightSubscriptionCredentials GetSubscriptionCertificateCredentials(this IAzureHDInsightCommonCommandBase command, AzureSubscription currentSubscription, AzureAccount azureAccount, AzureEnvironment environment) { return(new HDInsightCertificateCredential { SubscriptionId = currentSubscription.Id, Certificate = ProfileClient.DataStore.GetCertificate(currentSubscription.Account), Endpoint = environment.GetEndpointAsUri(AzureEnvironment.Endpoint.ServiceManagement), }); }
public static IHDInsightSubscriptionCredentials GetSubscriptionCertificateCredentials(this IAzureHDInsightCommonCommandBase command, IAzureSubscription currentSubscription, IAzureAccount azureAccount, IAzureEnvironment environment) { return(new HDInsightCertificateCredential { SubscriptionId = currentSubscription.GetId(), Certificate = AzureSession.Instance.DataStore.GetCertificate(currentSubscription.GetAccount()), Endpoint = environment.GetEndpointAsUri(AzureEnvironment.Endpoint.ServiceManagement), }); }