Błąd, którego szukają użytkownicy
Typowy komunikat
The iframe has not configured - see warning in consoleTreść różni się według przeglądarki i systemu klienta: pusta ramka, strona „odmowa połączenia” albo utrata logowania lub koszyka po pierwszym kliknięciu. Przyczyną jest prawie zawsze jedna z czterech poniższych.
Dlaczego ramka jest blokowana
X-Frame-Options
DENY lub SAMEORIGIN uniemożliwiają innym witrynom osadzanie sklepu w ramce.
CSP frame-ancestors
Content-Security-Policy bez domeny klienta blokuje ramkę.
Pliki cookie SameSite
Bez SameSite=None; Secure plik cookie sesji jest odrzucany w ramce: logowanie i koszyk zostają utracone.
Blokowanie plików cookie stron trzecich
Safari i niektóre ustawienia przeglądarek blokują pliki cookie w ramkach niezależnie od atrybutów.
Naprawa na serwerze
Odczyt konsoli przeglądarki
Należy otworzyć narzędzia programistyczne podczas sesji testowej i zanotować blokowany nagłówek lub plik cookie.
Dopuszczenie domeny klienta w frame-ancestors
Do Content-Security-Policy należy dodać wyłącznie domeny klienta, nigdy *.
Usunięcie X-Frame-Options DENY lub SAMEORIGIN
Nie pozwala wymienić kilku domen; zastępuje go frame-ancestors.
Ustawienie plików cookie sesji na SameSite=None; Secure
W przeciwnym razie przeglądarka odrzuca je w ramce i logowanie oraz koszyk zostają utracone.
Test nowej sesji PunchOut
Należy rozpocząć nową sesję z systemu testowego klienta i sprawdzić logowanie oraz zwrot koszyka.
Przykładowe nagłówki
Content-Security-Policy: frame-ancestors 'self' https://*.ariba.com
Set-Cookie: session=…; Path=/; Secure; HttpOnly; SameSite=NoneDokładne domeny należy potwierdzić z klientem: SAP Ariba, Coupa i inne systemy używają różnych hostów dla testów i produkcji. Zmianę należy stosować tylko do tego, czego wymaga sesja PunchOut, zachowując pozostałe nagłówki bezpieczeństwa.
Gdy przeglądarka nadal blokuje pliki cookie
Nawet z prawidłowymi atrybutami przeglądarki domyślnie blokujące pliki cookie stron trzecich mogą odrzucić sesję w ramce. Trwałe rozwiązania to otwarcie sklepu w nowym oknie, jeśli system klienta na to pozwala, albo udostępnienie sklepu przez proxy w domenie traktowanej przez przeglądarkę jako własna dla sesji.
Albo można powierzyć to bramce
PunchOut Rocket udostępnia sklep klientowi przez bramkę — reverse proxy ustawiający właściwe nagłówki ramek i atrybuty cookie dla każdej sesji PunchOut. Serwer i motyw nie zmieniają się, a zwykli klienci zachowują obecne ustawienia bezpieczeństwa.
PunchOut w obecnym sklepie
PunchOut Rocket łączy WooCommerce, Magento, PrestaShop i nopCommerce z SAP Ariba, Coupa i SAP przez cXML lub OCI. Od 163 €/mies. za witrynę, 30-dniowy bezpłatny okres próbny.