export function validateEndpoint(endpointToValidate: string, allowedEndpoints: ReadonlyArray): boolean { if (!endpointToValidate) { return true; } const originToValidate: string = new URL(endpointToValidate).origin; const allowedOrigins: string[] = allowedEndpoints.map(allowedEndpoint => new URL(allowedEndpoint).origin) || []; return allowedOrigins.indexOf(originToValidate) >= 0; } export const allowedArmEndpoints: ReadonlyArray = [ "https://​management.azure.com", "https://​management.usgovcloudapi.net", "https://management.chinacloudapi.cn" ]; export const allowedAadEndpoints: ReadonlyArray = [ "https://login.microsoftonline.com/" ]; export const allowedParentFrameOrigins: ReadonlyArray = [ `^https:\\/\\/cosmos\\.azure\\.(com|cn|us)$`, `^https:\\/\\/[\\.\\w]*portal\\.azure\\.(com|cn|us)$`, `^https:\\/\\/[\\.\\w]*portal\\.microsoftazure.de$`, `^https:\\/\\/[\\.\\w]*ext\\.azure\\.(com|cn|us)$`, `^https:\\/\\/[\\.\\w]*\\.ext\\.microsoftazure\\.de$`, `^https://cosmos-db-dataexplorer-germanycentral.azurewebsites.de$`, ]; export const allowedJunoOrigins: ReadonlyArray = [ "https://juno-test.documents-dev.windows-int.net", "https://juno-test2.documents-dev.windows-int.net", "https://tools.cosmos.azure.com", "https://tools-staging.cosmos.azure.com", "https://localhost", ]; export const allowedEmulatorEndpoints: ReadonlyArray = [ ]; export const allowedGraphEndpoints: ReadonlyArray = [ ]; export const allowedArcadiaEndpoints: ReadonlyArray = [ ]; export const allowedArcadiaLivyDnsZones: ReadonlyArray = [ ]; export const allowedBackendEndpoints: ReadonlyArray = [ ]; export const allowedMongoBackendEndpoints: ReadonlyArray = [ ]; export const allowedJunoEndpoints: ReadonlyArray = [ ]; export const allowedHostedExplorerEndpoints: ReadonlyArray = [ ]; export const allowedMsalRedirectEndpoints: ReadonlyArray = [ ]; export const allowedMongoProxyEndpoints: ReadonlyArray = [ ]; export const allowedPhoenixEndpoints: ReadonlyArray = [ ]; export const allowedNotebookServerUrls: ReadonlyArray = [ ];