Auth-Modul
Nutzerauthentifizierung, -registrierung und Sitzungsverwaltung überbase44.auth.
Inhalt
- TypeScript Types
- Methoden
- Beispiele
- Fehlerbehandlung
- Auth-Anbieter
- Verfügbarkeit in Umgebungen
- App-Sichtbarkeit
- Einschränkungen
TypeScript Types
User-Interface
LoginResponse-Interface
Parameter-Interfaces
RegisterParams
VerifyOtpParams
ResetPasswordParams
ChangePasswordParams
Provider-Typ
Methoden
Modul-Interface
Methoden-Referenztabelle
| Methode | Parameter | Rückgabetyp | Beschreibung |
|---|---|---|---|
register() | params: RegisterParams | Promise<any> | Neues Nutzerkonto erstellen |
loginViaEmailPassword() | email: string, password: string, turnstileToken?: string | Promise<LoginResponse> | Mit E-Mail/Passwort authentifizieren |
loginWithProvider() | provider: Provider, fromUrl?: string | void | OAuth-Login-Flow starten. Anbieter: 'google' (Standard), 'microsoft', 'facebook' (in App-Einstellungen aktivieren) |
me() | Keine | Promise<User> | Aktuell authentifizierten Nutzer holen |
updateMe() | data: Partial<User> | Promise<User> | Profil des aktuellen Nutzers aktualisieren |
logout() | redirectUrl?: string | void | Zum serverseitigen Logout weiterleiten (löscht HTTP-only-Cookies und Sitzung), dann zu redirectUrl oder aktueller URL |
redirectToLogin() | nextUrl: string | void | ⚠️ Vermeiden — bevorzuge benutzerdefinierte Login-UI mit loginViaEmailPassword() oder loginWithProvider() |
isAuthenticated() | Keine | Promise<boolean> | Prüfen, ob Nutzer eingeloggt ist |
setToken() | token: string, saveToStorage?: boolean | void | Auth-Token manuell setzen |
inviteUser() | userEmail: string, role: string | Promise<any> | Einladungs-E-Mail senden |
verifyOtp() | params: VerifyOtpParams | Promise<any> | OTP-Code verifizieren |
resendOtp() | email: string | Promise<any> | OTP-Code erneut senden |
resetPasswordRequest() | email: string | Promise<any> | Passwort-Reset anfordern |
resetPassword() | params: ResetPasswordParams | Promise<any> | Passwort mit Token zurücksetzen |
changePassword() | params: ChangePasswordParams | Promise<any> | Nutzerpasswort ändern |
Beispiele
Neuen Nutzer registrieren (vollständiger Ablauf)
Die Registrierung erfordert E-Mail-Verifizierung vor dem Login. Vollständiger Ablauf:- Registrieren — Das Nutzerkonto erstellen
- Verifizierungs-E-Mail versendet — Nutzer erhält einen OTP-Code
- OTP verifizieren — Nutzer gibt Code ein, um E-Mail zu verifizieren
- Login — Nutzer kann sich jetzt anmelden
Wichtig: Nutzer können sich nicht anmelden, bis sie die OTP-Verifizierung abgeschlossen haben. Ein Aufruf von loginViaEmailPassword vor der Verifizierung schlägt fehl.
Login mit E-Mail/Passwort
Login mit OAuth-Anbieter
Unterstützte Anbieter:'google' (standardmäßig aktiviert), 'microsoft' und 'facebook'. Aktiviere Microsoft oder Facebook in den Authentifizierungs-Einstellungen deiner App vor der Nutzung.
Aktuellen Nutzer holen
Nutzerprofil aktualisieren
Authentifizierungsstatus prüfen
Logout
Der Logout leitet den Nutzer zum serverseitigen Logout-Endpunkt (/api/apps/auth/logout) weiter, um HTTP-only-Cookies und die Sitzung zu löschen, und dann zur angegebenen URL (oder zur aktuellen Seite, wenn weggelassen). Erfordert eine Browser-Umgebung.
Geschütztes-Routen-Muster
Auth-Token setzen
Nutzer in Anwendung einladen
OTP-Verifizierung
Passwort-Reset-Ablauf
Passwort ändern
Fehlerbehandlung
Häufige Fehlerszenarien
Das Auth-Modul kann verschiedene Fehler werfen. Hier sind häufige Szenarien und wie du sie behandelst:Authentifizierungsfehler (401/403)
Validierungsfehler (400/422)
Rate-Limiting (429)
Generischer Fehler-Handler
Auth-Anbieter
Konfiguriere Authentifizierungsanbieter in deinem App-Dashboard:Verfügbare Anbieter
Integriert (alle Tarife):- E-Mail/Passwort — Standard, immer aktiviert
- Google — OAuth-Authentifizierung
- Microsoft — OAuth-Authentifizierung
- Facebook — OAuth-Authentifizierung
- Okta
- Azure AD
- GitHub
OAuth-Anbieter verwenden
- Google — standardmäßig aktiviert.
- Microsoft — vor der Nutzung in den Authentifizierungs-Einstellungen deiner App aktivieren.
- Facebook — vor der Nutzung in den Authentifizierungs-Einstellungen deiner App aktivieren.
Verfügbarkeit in Umgebungen
| Umgebung | Verfügbarkeit | Hinweise |
|---|---|---|
| Frontend | ✅ Ja | Alle Methoden verfügbar |
| Backend-Funktionen | ✅ Ja | Verwende createClientFromRequest(req) für den authentifizierten Client |
| Service-Rolle | ❌ Nein | Auth-Methoden sind im Service-Rollen-Kontext nicht verfügbar |
Frontend-Nutzung
Backend-Funktionen-Nutzung
App-Sichtbarkeit
Steuere in den App-Einstellungen, wer auf deine App zugreifen kann:Öffentliche Apps
- Kein Login für grundlegenden Zugriff nötig
- Nutzer können öffentliche Inhalte ohne Authentifizierung ansehen
- Authentifizierte Nutzer erhalten zusätzliche Features/Daten
Private Apps
- Login zum Zugriff auf jeden Inhalt nötig
- Nicht authentifizierte Nutzer werden automatisch zum Login weitergeleitet
- Alle Inhalte sind standardmäßig geschützt
Einschränkungen
Authentifizierungs-UI-Optionen
- Empfohlen: Baue eine benutzerdefinierte Login-/Signup-UI mit
loginViaEmailPassword()undloginWithProvider()für volle Kontrolle über Nutzererlebnis und Branding - Alternative:
redirectToLogin()verwendet Base44s gehostete Authentifizierungsseiten mit begrenzter Anpassung
Gehostetes Login (über redirectToLogin)
redirectToLogin()zeigt Login- und Signup-Optionen auf derselben Seite- Keine separate
redirectToSignup()-Methode - Nutzer können auf der gehosteten Seite zwischen Login/Signup wechseln
- ⚠️ Hinweis: Bevorzuge eine benutzerdefinierte Login-UI für ein besseres Nutzererlebnis
Passwort-Anforderungen
- Mindestlänge und Komplexitätsanforderungen werden durchgesetzt
- Anforderungen sind nicht per API einsehbar
- Bei Nichterfüllung werden Validierungsfehler zurückgegeben
Rate-Limiting
- OTP-Anfragen sind ratenbegrenzt, um Missbrauch zu verhindern
- Passwort-Reset-Anfragen sind ratenbegrenzt
- Login-Versuche können mit Turnstile-Schutz ratenbegrenzt sein
Token-Management
- JWTs werden standardmäßig automatisch im localStorage gespeichert
- Token-Ablauf und -Refresh sind nicht per API einsehbar
- Rufe
me()oderisAuthenticated()auf, um die Token-Gültigkeit zu prüfen
Best Practices
1. Immer Fehler behandeln
2. Authentifizierung vor geschützten Aktionen prüfen
3. Typsicherheit mit TypeScript nutzen
4. Keine Anmeldedaten hartcodieren
5. Nutzerfeedback geben
6. Token-Ablauf sauber handhaben
7. Benutzerdefinierte Login-UI bauen (empfohlen)
Diese Seite wurde mit KI übersetzt. Für die genauesten und aktuellsten Informationen siehe die englische Version.

