jak zobrazit výstup presenteru v iframu externího webu?

pp
Člen | 48
+
0
-

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 | 1146
+
0
-

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)

pp
Člen | 48
+
0
-

Diky za objasneni. Je to tak jak pises. Chyba v promazavani cache.