-
- Downloads

backported "Add allowed iframe host setting" (#49050)

* Add allowed iframe host setting (#48805) * add allowed iframe host setting wip * use allowed-iframe-hosts setting in the CSP header * add a test for the frame-src csp directive * Update allowed-iframe-hosts setting definition * Add error state for forbidden iframe url domains * Move out iframe e2e test suite * Add e2e test * Update error message in view mode * Fix unit tests * Update setting on the admin page * Update error state * Add links to error states * Update docs links * Update link anchors * Add default allowed hosts to public setting * Update allowed domain check logic * Fix default value display in admin page * Don't update setting without changes * Update error message spacing * correct the parsing of allowed-hosts string for CSP header entries * fix test * fix not handling wildcard ports * Fix failing e2e test * Fix subdomain test * address review - the parse-allowed-iframe-hosts fn is now memoized - a * entry is handled and doesn't produce a weird *:* entry - no more try/catch, errors in parsing will be logged but the list returns all valid entries - when www. is encountered, an entry including www. is added - trailing / is 'cleaned' and the entry is used as if there was no trailing / * Fixup test for expecting a few more frame sources * indentation fix for linter* Fix type error --------- Co-authored-by: Adam James <adam.vermeer2@gmail.com> Co-authored-by:
Anton Kulyk <kuliks.anton@gmail.com> Co-authored-by:
dan sutton <dan@dpsutton.com> * Fix type error --------- Co-authored-by:
Aleksandr Lesnenko <alxnddr@users.noreply.github.com> Co-authored-by:
Adam James <adam.vermeer2@gmail.com> Co-authored-by:
Anton Kulyk <kuliks.anton@gmail.com> Co-authored-by:
dan sutton <dan@dpsutton.com>
Showing
- e2e/support/helpers/e2e-dashboard-helpers.ts 14 additions, 0 deletionse2e/support/helpers/e2e-dashboard-helpers.ts
- e2e/test/scenarios/dashboard/dashboard.cy.spec.js 108 additions, 44 deletionse2e/test/scenarios/dashboard/dashboard.cy.spec.js
- frontend/src/metabase-types/api/mocks/settings.ts 1 addition, 0 deletionsfrontend/src/metabase-types/api/mocks/settings.ts
- frontend/src/metabase-types/api/settings.ts 1 addition, 0 deletionsfrontend/src/metabase-types/api/settings.ts
- frontend/src/metabase/admin/settings/components/widgets/SettingText.jsx 12 additions, 2 deletions...etabase/admin/settings/components/widgets/SettingText.jsx
- frontend/src/metabase/admin/settings/selectors/selectors.js 14 additions, 1 deletionfrontend/src/metabase/admin/settings/selectors/selectors.js
- frontend/src/metabase/selectors/settings.ts 1 addition, 1 deletionfrontend/src/metabase/selectors/settings.ts
- frontend/src/metabase/visualizations/visualizations/IFrameViz/IFrameViz.styled.tsx 5 additions, 1 deletion...ualizations/visualizations/IFrameViz/IFrameViz.styled.tsx
- frontend/src/metabase/visualizations/visualizations/IFrameViz/IFrameViz.tsx 78 additions, 10 deletions...ase/visualizations/visualizations/IFrameViz/IFrameViz.tsx
- frontend/src/metabase/visualizations/visualizations/IFrameViz/IFrameViz.unit.spec.tsx 2 additions, 2 deletions...izations/visualizations/IFrameViz/IFrameViz.unit.spec.tsx
- frontend/src/metabase/visualizations/visualizations/IFrameViz/utils.ts 55 additions, 0 deletions...metabase/visualizations/visualizations/IFrameViz/utils.ts
- frontend/src/metabase/visualizations/visualizations/IFrameViz/utils.unit.spec.ts 71 additions, 1 deletion...isualizations/visualizations/IFrameViz/utils.unit.spec.ts
- src/metabase/public_settings.clj 32 additions, 0 deletionssrc/metabase/public_settings.clj
- src/metabase/server/middleware/security.clj 60 additions, 19 deletionssrc/metabase/server/middleware/security.clj
- test/metabase/server/middleware/security_test.clj 70 additions, 0 deletionstest/metabase/server/middleware/security_test.clj
- test_resources/serialization_baseline/settings.yaml 1 addition, 0 deletionstest_resources/serialization_baseline/settings.yaml
Please register or sign in to comment