Bedienungsanleitung Modul-Funktionen
API-Endpunkte für die Frontend-Bridge-Integration
Die folgenden Endpunkte ermöglichen die Integration der Frontend-Bridge in Adobe Commerce. Sie decken grundlegende Funktionen wie das Abrufen von Kundentokens, das Erneuern von Tokens und die Initialisierung von Gast-Warenkörben ab. Diese Endpunkte sind essenziell für die Implementierung von Funktionen, die sowohl für eingeloggte Kunden als auch für Gastbenutzer eine reibungslose Interaktion mit dem Shop ermöglichen.
Kundentoken und Warenkorb-ID abrufen
Dieser Endpunkt liefert die erforderlichen Informationen zur Authentifizierung und zur Identifizierung des Warenkorbs eines Kunden.
Request:
GET $ADOBE_COMMERCE_BASE_URL/customer/section/load?sections=frontend-bridge
Response:
{
"frontend-bridge":{
"token": { //valid customer token if logged in
"token": "eyJraWQiOiIxIiwiYWxnIjoiSFMyNTYifQ.eyJ1aWQiOjIwMSwidXR5cGlkIjozLCJpYXQiOjE3NTAwNzI5MTEsImV4cCI6MTc1MDA3NjUxMX0.2y1tT6np1lM7q6r_L7XaKEFPlFngouw3D3Iy6kF0YR8",
"issued_at": 1750072911,
"expires": 1750076511
},
"cart_id": "eFhx9hhSK6hCN82dOglVdvH6ISyjRJjs", //valid cart if initialized and available
"data_id": 1750072912//info from CustomerDataApi
}
}
Token erneuern
Zum sicheren Fortführen einer bestehenden Sitzung kann der Token über diesen Endpunkt erneuert werden. Dies ist essenziell, um eine reibungslose Benutzererfahrung zu gewährleisten.
Request:
POST $ADOBE_COMMERCE_BASE_URL/frontend_bridge/token/renew
Response:
true //false if something have gone wrong
Gast-Warenkorb initialisieren
Dieser Endpunkt erstellt einen Warenkorb für nicht eingeloggte Benutzer (Gäste) und ermöglicht so das Hinzufügen von Produkten auch ohne Anmeldung. Request:
POST $ADOBE_COMMERCE_BASE_URL/frontend_bridge/cart/initialize
Response:
true //false if something have gone wrong
Referenzimplementierung
Das Frontend-Bridge-Modul enthält eine Javascript-Referenzimplementierung, welche genutzt bzw. abgeändert werden kann, um Commerce-Frontends mit einer Magento Instanz zu verbinden.
Diese JavaScript- und HTML-Dateien implementieren eine Frontend-Brücke, die es einer externen Anwendung ermöglicht, mit einem Magento-Backend über GraphQL zu kommunizieren. Die Bibliothek kümmert sich um Authentifizierung, Sitzungsmanagement, das Senden von GraphQL-Anfragen und das Caching von Antworten zur Leistungssteigerung. Eine Demo-HTML-Seite und eine Beispiel-JavaScript-Datei veranschaulichen die praktische Anwendung dieser API-Funktionen.
Einschränkungen SameSite=None-Cookies
Privater/Inkognito-Modus
SameSite=None-Cookies funktionieren nicht zuverlässig in privaten oder Inkognito-Browser-Tabs. Es wird empfohlen, ein Skript wie detectIncognito einzusetzen, um solche Sitzungen zu erkennen und Nutzer (z. B. Tester oder Produktverantwortliche) darauf hinzuweisen, dass der private Modus zu Problemen führen kann.
Zukünftige Änderungen im Browserverhalten
Änderungen an Browserfunktionen, wie z. B. partitionierte Cookies (CHIPS), Related Website Sets oder die Storage Access API, könnten die Funktionsweise von SameSite=None-Cookies beeinflussen. Es ist möglich, dass zukünftige Anpassungen erforderlich sind, um die Kompatibilität sicherzustellen.
Bekannte Issues
Wenn der Fehler
{"0":"Invalid Samesite attribute.","1":"#1 Magento\\Framework\\Session\\Config\\Interceptor->___callParent() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:138]\n#2 Magento\\Framework\\Session\\Config\\Interceptor->{closure:Magento\\Framework\\Interception\\Interceptor::___callPlugins():104}() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:153] ...}
auftritt, liegt häufig eine inkonsistente Konfiguration der Basis‑URLs vor. Insbesondere dürfen web/secure/base_url und web/unsecure/base_url nicht unterschiedliche Protokolle verwenden (kein Mix aus http:// und https://).
Ursache
Magento markiert Session‑Cookies nur dann als Secure, wenn die Anwendung eine konsistente HTTPS‑Konfiguration erkennt. Sind web/secure/base_url und web/unsecure/base_url unterschiedlich (z. B. https://… vs. http://…), kann dies dazu führen, dass SameSite=None als ungültig gewertet wird und der Fehler Invalid Samesite attribute. geworfen wird.
Prüfschritte im Admin
-
Im Admin zu
Stores → Configuration → General → Webwechseln.-
Unter
Base URLs (Unsecure)den Wert vonweb/unsecure/base_urlprüfen. -
Unter
Base URLs (Secure)den Wert vonweb/secure/base_urlprüfen. -
Sicherstellen, dass beide Werte identisch sind und in der Regel auf
https://…/zeigen.
-
-
Optional:
web/secure/use_in_frontendundweb/secure/use_in_adminhtmlauf1setzen, damit das Frontend und das Admin HTTPS verwenden. -
Nach der Anpassung Cache leeren:
bin/magento cache:clean config full_page.
Damit wird verhindert, dass SameSite=None ohne Secure‑Flag verwendet wird und der oben genannte Fehler erneut auftritt.