Exemplo n.º 1
0
        public static AzureCredentials Create()
        {
            AzureCliCredentials azureCliCredentials = new AzureCliCredentials();
            string homeDir = Environment.ExpandEnvironmentVariables(userProfile);

#if NETSTANDARD1_4
            if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
            {
                homeDir = Environment.GetEnvironmentVariable(home);
            }
#else
            if (Environment.OSVersion.Platform == PlatformID.Unix || Environment.OSVersion.Platform == PlatformID.MacOSX)
            {
                homeDir = Environment.GetEnvironmentVariable(home);
            }
#endif
            azureCliCredentials.Create(
                Path.Combine(homeDir, azureCliFolder, azureProfileFile),
                Path.Combine(homeDir, azureCliFolder, accessTokensFile)
                );

            if (azureCliCredentials.Subscription() == null)
            {
                throw new Exception("Please login in Azure CLI with service principal.");
            }

            AzureCliSubscription subscription = azureCliCredentials.Subscription();
            return(SdkContext.AzureCredentialsFactory.FromServicePrincipal(subscription.ClientId, subscription.Token().AccessToken, subscription.TenantId, subscription.Environment()));
        }