From a346bb0690cae186c9c524250fca4ef99e255ace Mon Sep 17 00:00:00 2001 From: Yabo Hu Date: Mon, 9 May 2022 16:35:41 +0800 Subject: [PATCH] Add purview endpoints for data plane auth (#303) (#317) Co-authored-by: Parv Saxena Co-authored-by: Parv Saxena Co-authored-by: Parv Saxena Co-authored-by: Yeming Liu <11371776+isra-fel@users.noreply.github.com> --- src/Authentication.Abstractions/AzureEnvironment.cs | 7 ++++++- .../AzureEnvironmentConstants.cs | 10 ++++++++++ .../Extensions/AzureEnvironmentExtensions.cs | 10 ++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/Authentication.Abstractions/AzureEnvironment.cs b/src/Authentication.Abstractions/AzureEnvironment.cs index 026253c89d..e01522898c 100644 --- a/src/Authentication.Abstractions/AzureEnvironment.cs +++ b/src/Authentication.Abstractions/AzureEnvironment.cs @@ -252,6 +252,9 @@ private static void SetExtendedProperties(IDictionary azureEnvironments[EnvironmentName.AzureCloud].SetProperty(ExtendedEndpoint.ManagedHsmServiceEndpointSuffix, AzureEnvironmentConstants.AzureManagedHsmDnsSuffix); azureEnvironments[EnvironmentName.AzureCloud].SetProperty(ExtendedEndpoint.MicrosoftGraphEndpointResourceId, AzureEnvironmentConstants.AzureMicrosoftGraphEndpointResourceId); azureEnvironments[EnvironmentName.AzureCloud].SetProperty(ExtendedEndpoint.MicrosoftGraphUrl, AzureEnvironmentConstants.AzureMicrosoftGraphUrl); + azureEnvironments[EnvironmentName.AzureCloud].SetProperty(ExtendedEndpoint.AzurePurviewEndpointSuffix, AzureEnvironmentConstants.AzurePurviewEndpointSuffix); + azureEnvironments[EnvironmentName.AzureCloud].SetProperty(ExtendedEndpoint.AzurePurviewEndpointResourceId, AzureEnvironmentConstants.AzurePurviewEndpointResourceId); + } if (azureEnvironments.ContainsKey(EnvironmentName.AzureChinaCloud)) @@ -672,7 +675,9 @@ public static class ExtendedEndpoint AzureSynapseAnalyticsEndpointSuffix = "AzureSynapseAnalyticsEndpointSuffix", AzureSynapseAnalyticsEndpointResourceId = "AzureSynapseAnalyticsEndpointResourceId", MicrosoftGraphUrl = "MicrosoftGraphUrl", - MicrosoftGraphEndpointResourceId = "MicrosoftGraphEndpointResourceId"; + MicrosoftGraphEndpointResourceId = "MicrosoftGraphEndpointResourceId", + AzurePurviewEndpointSuffix = "AzurePurviewEndpointSuffix", + AzurePurviewEndpointResourceId = "AzurePurviewEndpointResourceId"; } } } diff --git a/src/Authentication.Abstractions/AzureEnvironmentConstants.cs b/src/Authentication.Abstractions/AzureEnvironmentConstants.cs index 59fced432e..57fb447aad 100644 --- a/src/Authentication.Abstractions/AzureEnvironmentConstants.cs +++ b/src/Authentication.Abstractions/AzureEnvironmentConstants.cs @@ -236,5 +236,15 @@ public static class AzureEnvironmentConstants public const string ChinaMicrosoftGraphEndpointResourceId = "https://microsoftgraph.chinacloudapi.cn/"; public const string USGovernmentMicrosoftGraphEndpointResourceId = "https://graph.microsoft.us/"; public const string GermanMicrosoftGraphEndpointResourceId = "https://graph.microsoft.de/"; + + /// + /// The domain name suffix for Azure Purview Services + /// + public const string AzurePurviewEndpointSuffix = "purview.azure.net"; + + /// + /// The token audience for authorizing Purview Service requests + /// + public const string AzurePurviewEndpointResourceId = "https://purview.azure.net"; } } diff --git a/src/Authentication.Abstractions/Extensions/AzureEnvironmentExtensions.cs b/src/Authentication.Abstractions/Extensions/AzureEnvironmentExtensions.cs index f55b6916c5..3743ca2c8e 100644 --- a/src/Authentication.Abstractions/Extensions/AzureEnvironmentExtensions.cs +++ b/src/Authentication.Abstractions/Extensions/AzureEnvironmentExtensions.cs @@ -307,6 +307,12 @@ public static void SetEndpoint(this IAzureEnvironment environment, string endpoi case AzureEnvironment.ExtendedEndpoint.MicrosoftGraphEndpointResourceId: environment.SetProperty(AzureEnvironment.ExtendedEndpoint.MicrosoftGraphEndpointResourceId, propertyValue); break; + case AzureEnvironment.ExtendedEndpoint.AzurePurviewEndpointSuffix: + environment.SetProperty(AzureEnvironment.ExtendedEndpoint.AzurePurviewEndpointSuffix, propertyValue); + break; + case AzureEnvironment.ExtendedEndpoint.AzurePurviewEndpointResourceId: + environment.SetProperty(AzureEnvironment.ExtendedEndpoint.AzurePurviewEndpointResourceId, propertyValue); + break; } } } @@ -360,6 +366,10 @@ public static string GetTokenAudience(this IAzureEnvironment environment, string case AzureEnvironment.ExtendedEndpoint.MicrosoftGraphUrl: resource = AzureEnvironment.ExtendedEndpoint.MicrosoftGraphEndpointResourceId; break; + case AzureEnvironment.ExtendedEndpoint.AzurePurviewEndpointSuffix: + case AzureEnvironment.ExtendedEndpoint.AzurePurviewEndpointResourceId: + resource = AzureEnvironment.ExtendedEndpoint.AzurePurviewEndpointResourceId; + break; default: resource = AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId; break;