# Login im Frontend innerhalb von eigenem Controller

**URL:** <https://forum.shopware.com/t/login-im-frontend-innerhalb-von-eigenem-controller/101443>\
**Category:** Programmierung\
**Created:** [2. Oktober 2023 um 08:03 UTC](https://forum.shopware.com/t/login-im-frontend-innerhalb-von-eigenem-controller/101443 "2023-10-02T08:03:04Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Srcaft](https://avatars.discourse-cdn.com/v4/letter/s/50afbb/32.png) [@Srcaft](https://forum.shopware.com/u/Srcaft)\
**Post date:** [2. Oktober 2023 um 08:03 UTC](https://forum.shopware.com/t/login-im-frontend-innerhalb-von-eigenem-controller/101443/1 "2023-10-02T08:03:04Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)\
**Post date:** [2. Oktober 2023 um 08:35 UTC](https://forum.shopware.com/t/login-im-frontend-innerhalb-von-eigenem-controller/101443/2 "2023-10-02T08:35:51Z")

</div>

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

> **[Authentication & Authorisation | Store API](https://shopware.stoplight.io/docs/store-api/8e1d78252fa6f-authentication-and-authorisation)**
>
> Just as any shop frontend is public to its visitors, the Store API is a public API and does not have an actual authentication. However, some header credentials are to be provided to use the API. Powered by Stoplight.

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

---

<div class="post-metadata">

**Author:** ![Srcaft](https://avatars.discourse-cdn.com/v4/letter/s/50afbb/32.png) [@Srcaft](https://forum.shopware.com/u/Srcaft)\
**Post date:** [2. Oktober 2023 um 14:17 UTC](https://forum.shopware.com/t/login-im-frontend-innerhalb-von-eigenem-controller/101443/3 "2023-10-02T14:17:20Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![system](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/3X/2/9/29c7587ba660f00e4995d1743162782e5d6d8653.svg) [@system](https://forum.shopware.com/u/system)\
**Post date:** [1. November 2023 um 14:17 UTC](https://forum.shopware.com/t/login-im-frontend-innerhalb-von-eigenem-controller/101443/4 "2023-11-01T14:17:32Z")

</div>

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