diff --git a/change/@azure-msal-node-4db7cb53-4748-451c-8675-2bb9a4fe0bb1.json b/change/@azure-msal-node-4db7cb53-4748-451c-8675-2bb9a4fe0bb1.json new file mode 100644 index 0000000000..38aa23be28 --- /dev/null +++ b/change/@azure-msal-node-4db7cb53-4748-451c-8675-2bb9a4fe0bb1.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Removed Managed Identity Resource URI Validation", + "packageName": "@azure/msal-node", + "email": "rginsburg@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/lib/msal-node/src/client/ManagedIdentityApplication.ts b/lib/msal-node/src/client/ManagedIdentityApplication.ts index dd4db52c67..6208dfb002 100644 --- a/lib/msal-node/src/client/ManagedIdentityApplication.ts +++ b/lib/msal-node/src/client/ManagedIdentityApplication.ts @@ -16,7 +16,8 @@ import { ProtocolMode, StaticAuthorityOptions, AuthenticationResult, - UrlString, + createClientConfigurationError, + ClientConfigurationErrorCodes, } from "@azure/msal-common"; import { ManagedIdentityConfiguration, @@ -31,10 +32,6 @@ import { ManagedIdentityClient } from "./ManagedIdentityClient"; import { ManagedIdentityRequestParams } from "../request/ManagedIdentityRequestParams"; import { NodeStorage } from "../cache/NodeStorage"; import { DEFAULT_AUTHORITY_FOR_MANAGED_IDENTITY } from "../utils/Constants"; -import { - ManagedIdentityErrorCodes, - createManagedIdentityError, -} from "../error/ManagedIdentityError"; /** * Class to initialize a managed identity and identify the service @@ -122,14 +119,9 @@ export class ManagedIdentityApplication { public async acquireToken( managedIdentityRequestParams: ManagedIdentityRequestParams ): Promise { - const resourceUrlString = new UrlString( - managedIdentityRequestParams.resource.replace("/.default", "") - ); - try { - resourceUrlString.validateAsUri(); - } catch (e) { - throw createManagedIdentityError( - ManagedIdentityErrorCodes.invalidResource + if (!managedIdentityRequestParams.resource) { + throw createClientConfigurationError( + ClientConfigurationErrorCodes.urlEmptyError ); } diff --git a/lib/msal-node/src/error/ManagedIdentityError.ts b/lib/msal-node/src/error/ManagedIdentityError.ts index 9a67dbea09..2bac44c366 100644 --- a/lib/msal-node/src/error/ManagedIdentityError.ts +++ b/lib/msal-node/src/error/ManagedIdentityError.ts @@ -14,8 +14,6 @@ export { ManagedIdentityErrorCodes }; export const ManagedIdentityErrorMessages = { [ManagedIdentityErrorCodes.invalidManagedIdentityIdType]: "More than one ManagedIdentityIdType was provided.", - [ManagedIdentityErrorCodes.invalidResource]: - "The supplied resource is an invalid URL.", [ManagedIdentityErrorCodes.missingId]: "A ManagedIdentityId id was not provided.", [ManagedIdentityErrorCodes.MsiEnvironmentVariableUrlMalformedErrorCodes diff --git a/lib/msal-node/src/error/ManagedIdentityErrorCodes.ts b/lib/msal-node/src/error/ManagedIdentityErrorCodes.ts index f60df42b21..67a6129def 100644 --- a/lib/msal-node/src/error/ManagedIdentityErrorCodes.ts +++ b/lib/msal-node/src/error/ManagedIdentityErrorCodes.ts @@ -6,7 +6,6 @@ import { ManagedIdentityEnvironmentVariableNames } from "../utils/Constants"; export const invalidManagedIdentityIdType = "invalid_managed_identity_id_type"; -export const invalidResource = "invalid_resource"; export const missingId = "missing_client_id"; export const networkUnavailable = "network_unavailable"; export const unableToCreateAzureArc = "unable_to_create_azure_arc"; diff --git a/lib/msal-node/test/client/ManagedIdentitySources/Imds.spec.ts b/lib/msal-node/test/client/ManagedIdentitySources/Imds.spec.ts index ef2f149f58..e05a62a5ec 100644 --- a/lib/msal-node/test/client/ManagedIdentitySources/Imds.spec.ts +++ b/lib/msal-node/test/client/ManagedIdentitySources/Imds.spec.ts @@ -785,16 +785,6 @@ describe("Acquires a token successfully via an IMDS Managed Identity", () => { const systemAssignedManagedIdentityApplication: ManagedIdentityApplication = new ManagedIdentityApplication(systemAssignedConfig); - await expect( - systemAssignedManagedIdentityApplication.acquireToken({ - resource: "invalid_resource", - }) - ).rejects.toMatchObject( - createManagedIdentityError( - ManagedIdentityErrorCodes.invalidResource - ) - ); - await expect( systemAssignedManagedIdentityApplication.acquireToken({ resource: "", @@ -822,7 +812,7 @@ describe("Acquires a token successfully via an IMDS Managed Identity", () => { expect(() => { new ManagedIdentityApplication(badUserAssignedClientIdConfig); - }).toThrowError( + }).toThrow( createManagedIdentityError( ManagedIdentityErrorCodes.invalidManagedIdentityIdType )