Login im Frontend innerhalb von eigenem Controller

Hallo zusammen,
ich suche nach einer Möglichkeit, mich innerhalb einer meiner Controller im Frontend einzuloggen. Ich habe mehrere Ansätze ohne Erfolg ausprobiert. Wenn ich LoginRoute::login() direkt aufrufe, funktioniert die Anmeldung. Wenn ich jedoch unmittelbar danach Produkte programmatisch zum Warenkorb hinzufüge, werden diese nicht beibehalten und der Warenkorb ist leer nachdem die Seite angezeigt wird.

Ich habe auch AccountService::login() gefunden, aber diese Methode überprüft kein Passwort, sodass ich diese nicht verwenden kann. Die Weiterleitung zur Route store-api.account.login funktioniert auch nicht, da es sich um eine POST-Methode handelt. Selbst wenn ich meine eigene forwardToPost()-Methode erstelle, erhalte ich eine Meldung, dass der Access Key ungültig ist.

Habt ihr eine Idee, wie ich am besten einen Kunden in meinem Controller anmelden und direkt danach Produkte zum Warenkorb hinzufügen kann?

Du nutzt einfach die API zum einloggen, bekommst das Token und kannst danach Artikel in den Warenkorb legen:

Falls du das alles innerhalb von PHP erledigen möchtest, dann schau einfach, welche Methoden entsprechende API Methode nutzt.

1 „Gefällt mir“

Danke, ich hab es nun hinbekommen. Nach dem Login über LoginRoute::login() musste ich mir erst noch den neuen ContextToken aus dem Response Header holen:
$contextToken = $response->headers->get(PlatformRequest::HEADER_CONTEXT_TOKEN)

Wenn ich dann diesen Token zum erstellen des Warenkorbs verwende funktioniert alles.

Dieses Thema wurde automatisch 30 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.