diff --git a/change/@azure-msal-browser-bc911259-ba35-43da-8c09-76cc3916692c.json b/change/@azure-msal-browser-bc911259-ba35-43da-8c09-76cc3916692c.json new file mode 100644 index 0000000000..a4e31eddca --- /dev/null +++ b/change/@azure-msal-browser-bc911259-ba35-43da-8c09-76cc3916692c.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Add allow=\"local-network-access *\" attribute to iframe for Chrome 142 compatibility", + "packageName": "@azure/msal-browser", + "email": "198982749+Copilot@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/lib/msal-browser/src/interaction_handler/SilentHandler.ts b/lib/msal-browser/src/interaction_handler/SilentHandler.ts index e896e65b22..82917963e5 100644 --- a/lib/msal-browser/src/interaction_handler/SilentHandler.ts +++ b/lib/msal-browser/src/interaction_handler/SilentHandler.ts @@ -256,6 +256,7 @@ function createHiddenIframe(): HTMLIFrameElement { "sandbox", "allow-scripts allow-same-origin allow-forms" ); + authFrame.setAttribute("allow", "local-network-access *"); document.body.appendChild(authFrame); return authFrame; diff --git a/lib/msal-browser/test/interaction_handler/SilentHandler.spec.ts b/lib/msal-browser/test/interaction_handler/SilentHandler.spec.ts index 6629120c5b..ff0d458d85 100644 --- a/lib/msal-browser/test/interaction_handler/SilentHandler.spec.ts +++ b/lib/msal-browser/test/interaction_handler/SilentHandler.spec.ts @@ -98,6 +98,19 @@ describe("SilentHandler.ts Unit Tests", () => { expect(endTime - startTime).toBeLessThan(DEFAULT_IFRAME_TIMEOUT_MS); expect(authFrame instanceof HTMLIFrameElement).toBe(true); }); + + it("Sets the allow attribute for local network access on iframe", async () => { + const authFrame = await SilentHandler.initiateCodeRequest( + testNavUrl, + performanceClient, + browserRequestLogger, + RANDOM_TEST_GUID, + 0 + ); + expect(authFrame.getAttribute("allow")).toBe( + "local-network-access *" + ); + }); }); describe("monitorIframeForHash", () => {