fix(iframe-widget): permission selection not applying to any origin (#4616)

This commit is contained in:
Meier Lukas
2025-12-13 11:50:33 +01:00
committed by GitHub
parent 866d3f674d
commit 479f083ab8

View File

@@ -27,7 +27,7 @@ export default function IFrameWidget({ options, isEditMode }: WidgetComponentPro
className={classes.iframe}
src={embedUrl}
title="widget iframe"
allow={allowedPermissions.join(" ")}
allow={allowedPermissions}
scrolling={allowScrolling ? "yes" : "no"}
sandbox={sandboxFlags.join(" ")}
>
@@ -77,9 +77,13 @@ const UnsupportedProtocol = () => {
const getAllowedPermissions = (
permissions: Omit<WidgetComponentProps<"iframe">["options"], "embedUrl" | "allowScrolling">,
) => {
return objectEntries(permissions)
.filter(([_key, value]) => value)
.map(([key]) => permissionMapping[key]);
return (
objectEntries(permissions)
.filter(([_key, value]) => value)
// * means it applies to all origins
.map(([key]) => `${permissionMapping[key]} *`)
.join("; ")
);
};
const getSandboxFlags = (