Content Security Policy
يعمل SDK الخاص بـ Kaleidr داخل صفحة العميل. وهذا يعني أن Content Security Policy لصفحة العميل يجب أن تسمح بالموارد التي يقوم كل منتج بتحميلها. هذه الصفحة هي الوصفة.
حسب كل منتج
Tile وViewer (منتجات iframe)
يقوم Tile وViewer بتحميل الخريطة الفع لية داخل map-embed.kaleidr.com، تحت
CSP الخاص بـ Kaleidr. ولا تحتاج الصفحة الأصلية إلا إلى السماح بالـ iframe نفسه و
loader الخاص بـ SDK:
default-src 'self';
script-src 'self' https://cdn.kaleidr.com;
frame-src https://map-embed.kaleidr.com;
connect-src 'self' https://api.kaleidr.com;
لا تحتاج إلى السماح بمضيفي صور Mapbox / MapTiler / OSM / vendor في الصفحة الأصلية عندما تضمّن Tile أو Viewer فقط — فهذه تعمل داخل iframe الخاص بـ Kaleidr.
Chat وEditor (attach داخل الصفحة)
يقوم Chat وEditor بتركيب MapLibre في المستند الأصل. ويجب أن يسمح CSP الخاص بالصفحة الأصلية بكل host يقوم MapLibre وSDK بتحميله فع ليًا:
default-src 'self';
script-src 'self' 'wasm-unsafe-eval' https://cdn.kaleidr.com;
style-src 'self' 'unsafe-inline' https://cdn.kaleidr.com;
connect-src 'self'
https://api.kaleidr.com
https://api.mapbox.com https://events.mapbox.com
https://api.maptiler.com
https://*.tiles.mapbox.com;
img-src 'self' data: blob:
https://api.mapbox.com https://*.tiles.mapbox.com
https://api.maptiler.com
https://*.tile.openstreetmap.org;
worker-src 'self' blob:;
font-src 'self' data:;
'wasm-unsafe-eval' مطلوب — يقوم MapLibre بترجمة WebAssembly وقت التشغيل
ويفشل بدونه. إذا كان CSP لديك يمنع 'wasm-unsafe-eval' فلن تتمكن
حاليًا من تركيب Chat أو Editor داخل الصفحة.
ما الذي يتعطل أولًا
| العَرَض | التوجيه المحتمل المفقود |
|---|---|
| loader الخاص بـ SDK يعيد 404 أو يتم حظره | script-src https://cdn.kaleidr.com |
| فشل تهيئة MapLibre (Chat/Editor) | 'wasm-unsafe-eval' في script-src |
| البلاطات تظهر فارغة / رمادية | connect-src و/أو img-src لمضيف vendor |
| iframe لا يرسم أبدًا (Tile / Viewer) | frame-src https://map-embed.kaleidr.com |
| Session exchange يعيد 4xx في console | ليس CSP — راجع Auth & scopes وقائمة origin allowlist |