Hallo Zusammen,
ich binde Contao auf einer externen Seite mit einem iFrame ein. Contao ist hier nur dazu da einen Login anzuzeigen und wer sich (im iFrame im Contao) einloggt, wird dann einfach auf eine externe Seite weitergeleitet (auch im iFrame). Ich habe dafür das Logintemplate überschrieben, darin checke ich ob der User korrekt eingeloogt ist und wenn ja dann weiterleiten.
Das ganze hat bis heute noch funktioniert, aber seit heute funktioniert es nicht mehr im iFrame, wenn ich die Contao-Loginseite jedoch direkt im Browser öffne aber schon.
Ob der Benutzer eingeloggt ist checke ich mit $this->logout, das ist aber im iframe immer leer.
Mein Logintemplate
PHP-Code:
<?php
if ($this->logout) {
// Redirectlogik, das wird normalerweise ausgeführt, aber der iframe geht hier nicht rein weil $this->login leer ist.
}
?>
...Standard Loginhtml ....
Der Systemlog im Contaobackend schreibt, User "xy@domain.at" has logged in. Also funktioniert hat es anscheinend irgendwie schon, aber das $this->logout ist trotzdem bei Login im iframe leer und bei Login direkt auf der URL = 1.
Hab anstatt $this->logout auch mal System::getContainer()->get('contao.security.token_checker')->hasFrontendUser(); versucht, das gibt im iframe false und auf der direkten Seite true zurück.