/// <summary>
        /// Gets service principal based credentials
        /// </summary>
        /// <param name="authEnvironmentVariable">Environment variable that points to the file system secured azure auth settings</param>
        /// <returns>ServiceClientCredentials</returns>
        public static async Task <ServiceClientCredentials> GetServicePrincipalCredential(string authEnvironmentVariable)
        {
            AzureAuthInfo authSettings = Deserialize <AzureAuthInfo>(Environment.GetEnvironmentVariable(authEnvironmentVariable));

            var aadSettings = new ActiveDirectoryServiceSettings
            {
                AuthenticationEndpoint = new Uri(authSettings.ActiveDirectoryEndpointUrl),
                TokenAudience          = new Uri(authSettings.ManagementEndpointUrl),
                ValidateAuthority      = true
            };

            return(await ApplicationTokenProvider.LoginSilentAsync(
                       authSettings.TenantId,
                       authSettings.ClientId,
                       authSettings.ClientSecret,
                       aadSettings));
        }
        /// <summary>
        /// Gets service principal based credentials
        /// </summary>
        /// <param name="authEnvironmentVariable">Environment variable that points to the file system secured azure auth settings</param>
        /// <returns>ServiceClientCredentials</returns>
        public static async Task <ServiceClientCredentials> GetServicePrincipalCredential(string authEnvironmentVariable)
        {
            var jsonOptions = new JsonSerializerOptions
            {
                PropertyNameCaseInsensitive = true,
            };

            AzureAuthInfo authSettings = JsonSerializer.Deserialize <AzureAuthInfo>(File.ReadAllText(Environment.GetEnvironmentVariable(authEnvironmentVariable)), jsonOptions);

            var aadSettings = new ActiveDirectoryServiceSettings
            {
                AuthenticationEndpoint = new Uri(authSettings.ActiveDirectoryEndpointUrl),
                TokenAudience          = new Uri(authSettings.ManagementEndpointUrl),
                ValidateAuthority      = true
            };

            return(await ApplicationTokenProvider.LoginSilentAsync(
                       authSettings.TenantId,
                       authSettings.ClientId,
                       authSettings.ClientSecret,
                       aadSettings));
        }