Benutzer aus tl_member laden und manuell einloggen
Hallo,
bei einer unserer Webseiten soll es die Möglichkeit geben, dass sich Benutzer zusätzlich zu Contao auch über einen Single-Sign-On-Provider (SSO) anmelden können.
Nachdem sich der Benutzer über den SSO authentifiziert hat, wird für diesen, falls noch nicht vorhanden, ein neuer Benutzer in der Tabelle tl_member angelegt.
Der SSO liefert hierbei eine eindeutige nameId, welche für den Contao-Benutzer als Username genutzt wird.
Über diesen Username würde ich nun gerne den FrontendUser laden und ihn dann anschließend einloggen, so wie ein Benutzer, der sich ganz normal über das Loginformular eingeloggt hat.
Das MemberModel konnte ich auch schon erfolgreich über die nameId als Username/E-Mail laden, dazu habe ich folgende Zeile verwendet:
PHP-Code:
//nameID wird als Benutzername und E-Mail genutzt
$memberModel = MemberModel::findActiveByEmailAndUsername( $nameID );
Für den FrontendUser soll es wohl auch eine Methode geben, mit welcher man diesen über den Username laden können soll, allerdings gibt diese immer NULL zurück
PHP-Code:
$user = FrontendUser::loadUserByUsername( $nameID );
Theoretisch könnte man den FrontendUser dann wie folgt einloggen, dies scheint aber nur für den normalen Loginweg vorgesehen zu sein:
PHP-Code:
$user->login();
Hätte also jemand eine Idee, wie ich einen Benutzer per Skript aus der Datenbank laden und dann anschließend einloggen kann?
Grüße fl0