jak zobrazit výstup presenteru v iframu externího webu?
- pp
- Člen | 50
Myslím že jsem prošel snad všechny zmínky ve forů, zkoušel jsem nastavit kde co:
V hlavní konfiguraci ‚common.neon‘
http:
frames: true
cookieSecure: true
headers:
X-Frame-Options: ALLOW-FROM https://example.com
Content-Security-Policy: frame-ancestors https://example.com
Set-Cookie: "_nss=1; path=/; secure; HttpOnly; SameSite=None"
session:
cookieSamesite: 'None'
v presenteru mám funkci ‚action‘ i ‚render‘ s notaci @crossOrigin
Každopádně při přepnutí do produkce se výstup nezobrazí, pouze
chyba – „web xxx odmítl připojení“
V debug režimu se ale výstup v iframu načte.
Prosím kdo poradí?
- Marek Bartoš
- Nette Blogger | 1280
V hlavní konfiguraci ‘common.neon’
Používej buď http > frames
nebo
http > headers > X-Frame-Options
, ne obojí.
frames
je jen zkratka pro X-Frame-Options
. Zkratka ti
vždy header přepíše.
V debug režimu se ale výstup v iframu načte.
V debug módu se ti automaticky obnovuje DIC, ten je však pro produkční mód oddělený. Při vývoji v produkčním módu musíš mazat cache, při deployi na server bys měl mazání cache automatizovat. Bez smazání DIC se ti jinak v produkčním módu změna konfigurace neprojeví.
v presenteru mám funkci ‘action’ i ‘render’ s notaci @crossOrigin
@crossOrigin
je pro odesílání POST požadavků na web z jiného webu a pouze pro
handle*()
metody. Nad action*
ani
render*()
nic nedělá a s iframe nesouvisí
Set-Cookie: "_nss=1; path=/; secure; HttpOnly; SameSite=None"
Tomuhle manuálnímu nastavení bych se spíš vyhnul, pravděpodobně bude
kolidovat se SessionExtension
a nastavením z klíče session
.
Lépe použít ten.
Editoval Marek Bartoš (25. 4. 2022 13:16)