Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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,
     });
 }
Ejemplo n.º 6
0
 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),
     });
 }
Ejemplo n.º 7
0
 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),
     });
 }