> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Authentifizierung

Anmeldemethoden, Sessions und Kontosicherheit.

## Erstellen und verifizieren Sie ein echtes Konto

Unter Authentifizierung versteht man den Nachweis, wer die App nutzt. Starten Sie Postgres und führen Sie Migrationen zunächst mithilfe des Datenbankhandbuchs durch. Lassen Sie dann den Webserver laufen. Öffnen Sie http://localhost:3000/auth,, wählen Sie E-Mail-/Passwort-Anmeldung, geben Sie Ihren Namen, Ihre E-Mail-Adresse und Ihr Passwort ein und senden Sie es ab. Behalten Sie EMAIL_PROVIDER=local für diesen ersten Test.

Wenn ein Flow einen E-Mail-Code anfordert, öffnen Sie http://localhost:3000/mail-preview in einem anderen Browser-Tab, suchen Sie die aktuellste Nachricht für diese Adresse und kopieren Sie den Code zurück in das Anmeldeformular. Fordern Sie einen neuen Code an, wenn dieser abläuft. Diese Nachrichten bleiben im lokalen Postausgang; Durch wiederholtes Überprüfen eines externen Posteingangs werden sie nicht gefunden. Melden Sie sich ab und dann erneut an, um zu bestätigen, dass das datenbankgestützte Konto funktioniert.

Wenn bei der Anmeldung ein Datenbankverbindungs- oder ein fehlender Tabellenfehler gemeldet wird, schließen Sie die Datenbankeinrichtung ab, anstatt die soziale Anmeldung zu aktivieren. Für die Schaltflächen Google, GitHub, Apple, X und Microsoft sind eigene Anbieteranwendungen und Rückrufeinstellungen erforderlich. Aktivieren Sie eines erst, nachdem der Anbieterleitfaden vollständig ist. Better Auth ist die mitgelieferte Standard-Engine und benötigt kein kostenpflichtiges Authentifizierungskonto für die lokale E-Mail-Anmeldung.

[Postgres starten, bevor Sie ein Konto erstellen](https://supastack.dev/de/docs/web/database.md)

[E-Mail-Anmeldecodes verwenden und Fehler beheben](https://supastack.dev/de/docs/web/setup-ai.md)

[Google-Anmeldung konfigurieren](https://supastack.dev/de/docs/web/setup-oauth.md)

[Google-Anmeldung hinzufügen](https://supastack.dev/de/docs/web/google-sign-in.md)

[GitHub-Anmeldung hinzufügen](https://supastack.dev/de/docs/web/github-sign-in.md)

[Apple-Anmeldung hinzufügen](https://supastack.dev/de/docs/web/apple-sign-in.md)


## Aktive Anmeldemethoden auswählen

Die Grundlage umfasst E-Mail/Passwort, OTP und konfigurierbare Social-Authentifizierung. Better Auth verwaltet Identität und Sitzungen; die Anwendung setzt die Provider-Konfiguration und den transaktionalen OTP-Versand zusammen.

Aktivieren Sie nur Social-Provider, die Sie konfiguriert haben. Provider-Client-Secrets und das Authentifizierungs-Secret bleiben auf dem Server.


## Identität mit einem Workspace verknüpfen

Authentifizierte Handler lösen zuerst den Sitzungsstatus auf und greifen erst danach auf Workspace-Datensätze zu. Die Bereitstellung eines Workspace muss idempotent bleiben, damit ein wiederholter Lifecycle-Hook keine doppelten Besitzdatensätze erstellt.


## Sitzungsverhalten überprüfen

Testen Sie Anmeldung, ungültige oder abgelaufene OTPs, einmalige Verwendung, Abmeldung und die Ablehnung anonymer Zugriffe. Tests mit dem Speicheradapter prüfen das Verhalten der Handler; dauerhafte Speicherung in der Produktionsdatenbank und echte Provider-Callbacks müssen separat abgenommen werden.


## Einrichtung und Konfiguration

Better Auth ist die Standard-Engine (AUTH_PROVIDER=better-auth); eine Auth.js-Engine ist für Teams verfügbar, die darauf standardisieren. Aktivierte Methoden werden pro Anbieter deklariert: E-Mail/Passwort, per Transaktions-Mail gelieferte Einmalcodes und Social Sign-in für Google, Apple, GitHub, Microsoft und Twitter.

Jeder Social-Anbieter schaltet sich mit seinem AUTH_<PROVIDER>_ENABLED-Flag plus passender Client-ID und Secret ein. Das Auth-Secret, Anbieter-Secrets und Session-Signierschlüssel sind reine Server-Konfiguration.

```
AUTH_PROVIDER=better-auth
AUTH_SECRET=generate-a-long-random-value
AUTH_GOOGLE_ENABLED=true
GOOGLE_CLIENT_ID=…
GOOGLE_CLIENT_SECRET=…
```


## Implementierungsablauf

Die /auth-Oberfläche rendert die konfigurierten Methoden; der Server komponiert die Engine in auth-runtime und löst die Session an jeder geschützten Grenze auf. Ein erfolgreicher erster Sign-in provisioniert den persönlichen Workspace des Mitglieds idempotent — erneut abgespielte Lifecycle-Hooks dürfen nie einen zweiten Ownership-Datensatz erzeugen.

Kontosicherheit lebt unter /settings/security: Passwortänderung, aktive Sessions und Passkeys, wo der Build sie aktiviert. Halte Session-Wiederherstellung, Sign-out-Widerruf und workspaceübergreifende Verweigerung als serverseitig erzwungenes Verhalten, nicht als Interface-Zustand.


## Überprüfung und Fehlerbehebung

Teste Sign-in, ungültige und abgelaufene OTP-Codes, Einmal-Verbrauch, Passkey-Zeremonien auf HTTPS-Origins, Social-Callback-Rückkehr, Sign-out und anonyme Verweigerung. Registriere jede Anbieter-Redirect-URI vor dem Testen von Callbacks und verifiziere, dass eine widerrufene Session keine geschützte Arbeit mehr ausführen kann.


## Weiter

[Organisationen und Einladungen](https://supastack.dev/de/docs/web/organizations.md)
