/// <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)); }