diff --git a/src/Authentication.Abstractions/AzureEnvironment.cs b/src/Authentication.Abstractions/AzureEnvironment.cs index c3dad3ce97..8cae0f9093 100644 --- a/src/Authentication.Abstractions/AzureEnvironment.cs +++ b/src/Authentication.Abstractions/AzureEnvironment.cs @@ -250,6 +250,7 @@ private static void SetExtendedProperties(IDictionary azureEnvironments[EnvironmentName.AzureCloud].SetProperty(ExtendedEndpoint.AzureSynapseAnalyticsEndpointResourceId, AzureEnvironmentConstants.AzureSynapseAnalyticsEndpointResourceId); azureEnvironments[EnvironmentName.AzureCloud].SetProperty(ExtendedEndpoint.ManagedHsmServiceEndpointResourceId, AzureEnvironmentConstants.AzureManagedHsmServiceEndpointResourceId); azureEnvironments[EnvironmentName.AzureCloud].SetProperty(ExtendedEndpoint.ManagedHsmServiceEndpointSuffix, AzureEnvironmentConstants.AzureManagedHsmDnsSuffix); + azureEnvironments[EnvironmentName.AzureCloud].SetProperty(ExtendedEndpoint.AzureStorageOAuthEndpointResourceId, AzureEnvironmentConstants.AzureStorageOAuthEndpointResourceId); } if (azureEnvironments.ContainsKey(EnvironmentName.AzureChinaCloud)) @@ -260,6 +261,7 @@ private static void SetExtendedProperties(IDictionary azureEnvironments[EnvironmentName.AzureChinaCloud].SetProperty(ExtendedEndpoint.AzureSynapseAnalyticsEndpointResourceId, AzureEnvironmentConstants.ChinaSynapseAnalyticsEndpointResourceId); azureEnvironments[EnvironmentName.AzureChinaCloud].SetProperty(ExtendedEndpoint.ManagedHsmServiceEndpointResourceId, AzureEnvironmentConstants.ChineManagedHsmServiceEndpointResourceId); azureEnvironments[EnvironmentName.AzureChinaCloud].SetProperty(ExtendedEndpoint.ManagedHsmServiceEndpointSuffix, AzureEnvironmentConstants.ChinaManagedHsmDnsSuffix); + azureEnvironments[EnvironmentName.AzureChinaCloud].SetProperty(ExtendedEndpoint.AzureStorageOAuthEndpointResourceId, AzureEnvironmentConstants.AzureStorageOAuthEndpointResourceId); } if (azureEnvironments.ContainsKey(EnvironmentName.AzureUSGovernment)) @@ -272,6 +274,7 @@ private static void SetExtendedProperties(IDictionary azureEnvironments[EnvironmentName.AzureUSGovernment].SetProperty(ExtendedEndpoint.AzureSynapseAnalyticsEndpointResourceId, AzureEnvironmentConstants.USGovernmentSynapseAnalyticsEndpointResourceId); azureEnvironments[EnvironmentName.AzureUSGovernment].SetProperty(ExtendedEndpoint.ManagedHsmServiceEndpointResourceId, AzureEnvironmentConstants.USGovernmeneManagedHsmServiceEndpointResourceId); azureEnvironments[EnvironmentName.AzureUSGovernment].SetProperty(ExtendedEndpoint.ManagedHsmServiceEndpointSuffix, AzureEnvironmentConstants.USGovernmentManagedHsmDnsSuffix); + azureEnvironments[EnvironmentName.AzureUSGovernment].SetProperty(ExtendedEndpoint.AzureStorageOAuthEndpointResourceId, AzureEnvironmentConstants.AzureStorageOAuthEndpointResourceId); } if (azureEnvironments.ContainsKey(EnvironmentName.AzureGermanCloud)) @@ -280,6 +283,7 @@ private static void SetExtendedProperties(IDictionary azureEnvironments[EnvironmentName.AzureGermanCloud].SetProperty(ExtendedEndpoint.AnalysisServicesEndpointResourceId, AzureEnvironmentConstants.GermanAnalysisServicesEndpointResourceId); azureEnvironments[EnvironmentName.AzureGermanCloud].SetProperty(ExtendedEndpoint.ManagedHsmServiceEndpointResourceId, AzureEnvironmentConstants.GermanAzureManagedHsmServiceEndpointResourceId); azureEnvironments[EnvironmentName.AzureGermanCloud].SetProperty(ExtendedEndpoint.ManagedHsmServiceEndpointSuffix, AzureEnvironmentConstants.GermanManagedHsmDnsSuffix); + azureEnvironments[EnvironmentName.AzureGermanCloud].SetProperty(ExtendedEndpoint.AzureStorageOAuthEndpointResourceId, AzureEnvironmentConstants.AzureStorageOAuthEndpointResourceId); } } @@ -660,7 +664,8 @@ public static class ExtendedEndpoint AzureAttestationServiceEndpointSuffix = "AzureAttestationServiceEndpointSuffix", AzureAttestationServiceEndpointResourceId = "AzureAttestationServiceEndpointResourceId", AzureSynapseAnalyticsEndpointSuffix = "AzureSynapseAnalyticsEndpointSuffix", - AzureSynapseAnalyticsEndpointResourceId = "AzureSynapseAnalyticsEndpointResourceId"; + AzureSynapseAnalyticsEndpointResourceId = "AzureSynapseAnalyticsEndpointResourceId", + AzureStorageOAuthEndpointResourceId = "AzureStorageOAuthEndpointResourceId"; } } } diff --git a/src/Authentication.Abstractions/AzureEnvironmentConstants.cs b/src/Authentication.Abstractions/AzureEnvironmentConstants.cs index 80b7f31df7..035dfc87b0 100644 --- a/src/Authentication.Abstractions/AzureEnvironmentConstants.cs +++ b/src/Authentication.Abstractions/AzureEnvironmentConstants.cs @@ -218,5 +218,10 @@ public static class AzureEnvironmentConstants public const string AzureContainerRegistryEndpointSuffix = "azurecr.io"; public const string ChinaContainerRegistryEndpointSuffix = "azurecr.cn"; public const string USGovernmentContainerRegistryEndpointSuffix = "azurecr.us"; + + /// + /// The OAuth endpoint for storage, global and governant clouds share same resource id + /// + public const string AzureStorageOAuthEndpointResourceId = "https://storage.azure.com"; } } diff --git a/src/Authentication.Abstractions/Extensions/AzureEnvironmentExtensions.cs b/src/Authentication.Abstractions/Extensions/AzureEnvironmentExtensions.cs index 8c29637cff..fd9a21de1b 100644 --- a/src/Authentication.Abstractions/Extensions/AzureEnvironmentExtensions.cs +++ b/src/Authentication.Abstractions/Extensions/AzureEnvironmentExtensions.cs @@ -301,6 +301,9 @@ public static void SetEndpoint(this IAzureEnvironment environment, string endpoi case AzureEnvironment.ExtendedEndpoint.ManagedHsmServiceEndpointResourceId: environment.SetProperty(AzureEnvironment.ExtendedEndpoint.ManagedHsmServiceEndpointResourceId, propertyValue); break; + case AzureEnvironment.ExtendedEndpoint.AzureStorageOAuthEndpointResourceId: + environment.SetProperty(AzureEnvironment.ExtendedEndpoint.AzureStorageOAuthEndpointResourceId, propertyValue); + break; } } } @@ -351,6 +354,9 @@ public static string GetTokenAudience(this IAzureEnvironment environment, string case AzureEnvironment.Endpoint.ContainerRegistryEndpointSuffix: resource = AzureEnvironment.Endpoint.ContainerRegistryEndpointSuffix; break; + case AzureEnvironment.ExtendedEndpoint.AzureStorageOAuthEndpointResourceId: + resource = AzureEnvironment.ExtendedEndpoint.AzureStorageOAuthEndpointResourceId; + break; default: resource = AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId; break;