PRZETARGWygrali Państwo przetarg wymagający PunchOut?Pobierz Tender Kit

Rozwiązywanie problemów

Błąd iframe PunchOut w SAP Ariba: przyczyny i rozwiązanie

W skrócie

Gdy sklep PunchOut nie otwiera się w SAP Ariba lub Coupa, przyczyną jest prawie zawsze jedna z dwóch rzeczy: sklep blokuje osadzanie w ramce (X-Frame-Options lub Content-Security-Policy frame-ancestors) albo przeglądarka odrzuca plik cookie sesji, ponieważ nie ma ustawienia SameSite=None; Secure. Należy dopuścić domeny klienta i poprawić atrybuty cookie, a następnie rozpocząć nową sesję.

Błąd, którego szukają użytkownicy

Typowy komunikat

The iframe has not configured - see warning in console

Treść 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

  1. Odczyt konsoli przeglądarki

    Należy otworzyć narzędzia programistyczne podczas sesji testowej i zanotować blokowany nagłówek lub plik cookie.

  2. Dopuszczenie domeny klienta w frame-ancestors

    Do Content-Security-Policy należy dodać wyłącznie domeny klienta, nigdy *.

  3. Usunięcie X-Frame-Options DENY lub SAMEORIGIN

    Nie pozwala wymienić kilku domen; zastępuje go frame-ancestors.

  4. Ustawienie plików cookie sesji na SameSite=None; Secure

    W przeciwnym razie przeglądarka odrzuca je w ramce i logowanie oraz koszyk zostają utracone.

  5. 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=None

Dokł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.

FAQ

Pytania

Dlaczego sklep nie otwiera się w SAP Ariba?

Zwykle sklep zabrania wyświetlania w ramce (X-Frame-Options lub CSP frame-ancestors) albo jego plik cookie sesji jest blokowany jako plik strony trzeciej (SameSite).

Czy dopuszczenie ramek jest bezpieczne?

Tak, jeśli w frame-ancestors dopuszczone są tylko domeny klienta, nie wszystkie witryny.

Czy PunchOut Rocket rozwiąże ten problem za mnie?

Tak. Reverse proxy bramki udostępnia sklep z nagłówkami ramek i atrybutami cookie wymaganymi przez system klienta, bez zmian serwera.

Czytaj dalej

Powiązane poradniki

30-dniowy bezpłatny okres próbny · bez karty kredytowej

Państwa klient czeka. Czas uruchomić połączenie.

Wtyczkę można zainstalować dziś i uruchomić pierwszą sesję testową jeszcze po południu. Jeśli termin jest bliski, prosimy o informację — potraktujemy zgłoszenie priorytetowo.