presseportale/_docs/FORTIFY-SANCTUM-SETUP.md
Kevin Adametz 0a3e52d603 19-05-2026 Rebrand Pressekonto, Hub-Flux UI und Legacy-Media-Migration
Umbenennung presseportale → pressekonto in Domains, Themes und Dokumentation.
Design-Tokens, Portal-Shell, Customer-Dashboard, Auth- und Admin-PM-Views.
Artisan-Befehl migrate:legacy-media mit Tests und Hub-Flux-Entwicklungsdocs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-19 16:36:13 +00:00

5.3 KiB

Laravel Fortify & Sanctum Setup

Übersicht

Dieses Projekt wurde mit Laravel Fortify für die Authentifizierung und Laravel Sanctum für API-Token-Management konfiguriert. Die Authentifizierung verwendet Livewire-Komponenten mit Flux UI für eine moderne, reaktive Benutzeroberfläche.

Installation

Die Pakete wurden bereits installiert und konfiguriert:

composer require laravel/fortify laravel/sanctum

Konfiguration

Fortify

  • Konfigurationsdatei: config/fortify.php
  • Service Provider: app/Providers/FortifyServiceProvider.php
  • Aktionen: app/Actions/Fortify/
  • Livewire-Komponenten: resources/views/livewire/auth/

Sanctum

  • Konfigurationsdatei: config/sanctum.php
  • Migrationen: Ausgeführt
  • User Model: Aktualisiert mit HasApiTokens Trait

Features

Fortify Features (aktiviert)

  • Benutzerregistrierung (Livewire + Flux UI)
  • Passwort-Reset (Livewire + Flux UI)
  • Profilaktualisierung
  • Passwort-Update
  • Zwei-Faktor-Authentifizierung
  • ⚠️ E-Mail-Verifizierung (deaktiviert in der Konfiguration)

Sanctum Features

  • API-Token-Erstellung
  • Token-Revocation
  • Geschützte API-Routen

Technologie-Stack

  • Laravel Fortify: Backend-Authentifizierung
  • Laravel Sanctum: API-Token-Management
  • Livewire: Reaktive Frontend-Komponenten
  • Flux UI: Moderne UI-Komponenten
  • Volt: Livewire-Komponenten-Syntax

Routen

Web-Authentifizierung (pressekonto.test)

  • GET /login - Anmeldeseite (Livewire)
  • POST /login - Anmeldung (Livewire)
  • POST /logout - Abmeldung
  • GET /register - Registrierungsseite (Livewire)
  • POST /register - Registrierung (Livewire)
  • GET /forgot-password - Passwort vergessen (Livewire)
  • POST /forgot-password - Passwort-Reset-Link senden (Livewire)
  • GET /reset-password/{token} - Passwort zurücksetzen (Livewire)
  • POST /reset-password - Neues Passwort setzen (Livewire)
  • GET /verify-email - E-Mail-Verifizierung (Livewire)
  • GET /confirm-password - Passwort bestätigen (Livewire)

API-Routen (api.pressekonto.test)

  • GET /api/user - Aktueller Benutzer (geschützt)
  • GET /api/profile - Benutzerprofil (geschützt)
  • POST /api/login - API-Anmeldung (öffentlich)

Verwendung

Web-Authentifizierung

  1. Besuchen Sie http://portal.pressekonto.test/login
  2. Registrieren Sie sich oder melden Sie sich an
  3. Nutzen Sie die verschiedenen Authentifizierungsfeatures

API-Authentifizierung

  1. Token erstellen:
curl -X POST http://api.pressekonto.test/login \
  -H "Content-Type: application/json" \
  -d '{"email":"user@example.com","password":"password"}'
  1. Geschützte Route aufrufen:
curl -X GET http://api.pressekonto.test/api/user \
  -H "Authorization: Bearer YOUR_TOKEN_HERE"

Zwei-Faktor-Authentifizierung

  1. Aktivieren Sie 2FA in Ihren Benutzereinstellungen
  2. Scannen Sie den QR-Code mit Ihrer Authentifizierungs-App
  3. Geben Sie den Code bei der Anmeldung ein

Livewire-Komponenten

Alle Auth-Komponenten befinden sich in resources/views/livewire/auth/:

  • login.blade.php - Anmeldeseite mit Flux UI
  • register.blade.php - Registrierungsseite mit Flux UI
  • forgot-password.blade.php - Passwort vergessen mit Flux UI
  • reset-password.blade.php - Passwort zurücksetzen mit Flux UI
  • verify-email.blade.php - E-Mail-Verifizierung mit Flux UI
  • confirm-password.blade.php - Passwort bestätigen mit Flux UI

Flux UI Features

  • Moderne, responsive Benutzeroberfläche
  • Eingabevalidierung in Echtzeit
  • Rate Limiting mit visuellen Feedback
  • Dark Mode Unterstützung
  • Barrierefreiheit

Anpassungen

Fortify-Konfiguration anpassen

Bearbeiten Sie config/fortify.php um Features zu aktivieren/deaktivieren:

'features' => [
    Features::registration(),
    Features::resetPasswords(),
    Features::emailVerification(), // Aktivieren für E-Mail-Verifizierung
    Features::updateProfileInformation(),
    Features::updatePasswords(),
    Features::twoFactorAuthentication([
        'confirm' => true,
        'confirmPassword' => true,
    ]),
],

Livewire-Komponenten anpassen

Bearbeiten Sie die Komponenten in resources/views/livewire/auth/:

// Beispiel: Login-Komponente anpassen
new #[Layout('components.layouts.auth')] class extends Component {
    #[Validate('required|string|email')]
    public string $email = '';

    // Ihre Anpassungen hier...
}

Sanctum-Konfiguration anpassen

Bearbeiten Sie config/sanctum.php um Token-Einstellungen zu ändern:

'expiration' => null, // Token-Ablaufzeit (null = nie)
'guard' => ['web'], // Guards für Sanctum

Sicherheit

  • Alle Passwörter werden automatisch gehashed
  • CSRF-Schutz ist aktiviert
  • Rate Limiting ist konfiguriert
  • Zwei-Faktor-Authentifizierung ist verfügbar
  • API-Tokens können widerrufen werden
  • Livewire-Komponenten haben eingebaute Sicherheitsfeatures

Nächste Schritte

  1. Konfigurieren Sie E-Mail-Einstellungen in .env für Passwort-Reset
  2. Aktivieren Sie E-Mail-Verifizierung falls gewünscht
  3. Passen Sie die Livewire-Komponenten an Ihr Design an
  4. Erstellen Sie zusätzliche API-Routen nach Bedarf
  5. Konfigurieren Sie Flux UI Themes nach Ihren Wünschen