Tutorial: Login-Probleme mit Wix AuthCache beheben
Hier ist ein ausführliches Tutorial, wie du Login-Probleme im Zusammenhang mit dem Wix AuthCache (Authentifizierungs-Cache) beheben kannst.
Wenn Mitglieder deiner Wix-Website versuchen sich einzuloggen, aber entweder sofort wieder ausgeloggt werden, in einer Endlosschleife auf der Login-Seite landen oder keinen Zugriff auf geschützte Seiten erhalten, liegt das oft am sogenannten AuthCache oder veralteten Session-Daten.
In diesem Tutorial lernst du, wie du diese Probleme sowohl über die Einstellungen als auch über Velo (Wix Code) löst.
1. Die Ursache verstehen
Der Wix AuthCache dient dazu, die Performance zu verbessern, indem Login-Status-Informationen zwischengespeichert werden. Wenn jedoch Skripte (Velo) nicht korrekt mit den neuen APIs von Wix (wix-members-frontend) kommunizieren oder der Browser veraltete Cache-Daten hält, erkennt die Website den User nicht als "eingeloggt" an.
2. Schritt 1: Umstellung auf wix-members-frontend
Wix hat die alten APIs (wix-users) weitgehend ersetzt. Viele Login-Fehler entstehen durch die Verwendung veralteter Bibliotheken.
Lösung: Aktualisiere deinen Code auf die aktuelle API.
- Öffne den Velo Seitencode (Dev Mode einschalten).
- Ersetze
wix-usersdurchwix-members-frontend.
Beispiel für einen sauberen Login-Check:
import { authentication } from 'wix-members-frontend';
$w.onReady(function () {
// Prüfen, ob der User wirklich eingeloggt ist
authentication.onLogin((member) => {
console.log("Member erfolgreich eingeloggt:", member);
// Hier kannst du eine Weiterleitung erzwingen, falls der AuthCache hängt
});
});
3. Schritt 2: Den "Login-Loop" durch Redirect-Logik beheben
Oft versucht die Seite zu laden, bevor der AuthCache den Status "eingeloggt" bestätigt. Ein manueller Redirect nach dem Login hilft hier.
Code-Snippet für deine Login-Seite:
import { authentication } from 'wix-members-frontend';
import wixLocation from 'wix-location';
$w.onReady(function () {
authentication.onLogin(async () => {
// Erzwinge eine Aktualisierung der Session
setTimeout(() => {
wixLocation.to("/deine-zielseite");
}, 500); // Eine kurze Verzögerung hilft dem AuthCache
});
});
4. Schritt 3: Browser-Cache und Cookies (Client-seitig)
Falls das Problem nur bei bestimmten Usern auftritt, ist oft der lokale AuthCache des Browsers korrupt.
Anleitung für den User:
- Cookies löschen: Speziell die Cookies für
wix.comund deine Domain. - Inkognito-Modus: Teste den Login im privaten Fenster. Wenn es dort funktioniert, ist es definitiv ein lokales Cache-Problem.
- Hard Reload: Drücke
Strg + F5(Windows) oderCmd + Shift + R(Mac), um den Cache der Seite komplett zu umgehen.
5. Schritt 4: Einstellungen im Wix Dashboard prüfen
Manchmal blockieren die globalen Einstellungen den Auth-Flow.
- Gehe zu deinem Wix Dashboard.
- Navigiere zu Kontakte & Mitglieder > Website-Mitglieder.
- Klicke auf Einstellungen.
- Prüfe unter Anmeldung & Registrierung, wer sich registrieren darf.
- Wichtig: Stelle sicher, dass die "E-Mail-Bestätigung" nicht den Login blockiert (wenn ein User sich einloggt, aber seine Mail noch nicht bestätigt hat, kann der AuthCache ihn blockieren).
6. Schritt 5: Debugging mit der Browser-Konsole
Wenn der Login fehlschlägt, drücke F12 (Entwicklertools) und schaue im Tab Console nach Fehlermeldungen wie:
403 ForbiddenMember not foundAuthentication failed
Solltest du dort "Session expired" sehen, obwohl der User gerade erst die Daten eingegeben hat, solltest du in Velo die Funktion authentication.logout() beim Schließen des Fensters oder bei einem Fehler aufrufen, um den Cache für den nächsten Versuch zu leeren.
Zusammenfassung: Checkliste bei Login-Problemen
- [ ] API aktuell? Nutze
wix-members-frontendstattwix-users. - [ ] Redirect korrekt? Nutze
onLogin()für kontrollierte Weiterleitungen. - [ ] Sandbox-Test: Funktioniert es im Vorschaumodus, aber nicht live? Dann ist es oft ein Caching-Problem des CDNs (Wix Cache leeren durch erneutes Publizieren).
- [ ] E-Mail-Status: Ist das Mitglied im Dashboard als "Aktiv" markiert?
Pro-Tipp: Wenn gar nichts hilft, füge einen "Logout"-Button temporär auf die Startseite. Oft löst ein manueller Klick auf logout() den hängengebliebenen AuthCache auf dem Gerät des Nutzers auf.