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>
5.3 KiB
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
HasApiTokensTrait
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- AbmeldungGET /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
- Besuchen Sie
http://portal.pressekonto.test/login - Registrieren Sie sich oder melden Sie sich an
- Nutzen Sie die verschiedenen Authentifizierungsfeatures
API-Authentifizierung
- Token erstellen:
curl -X POST http://api.pressekonto.test/login \
-H "Content-Type: application/json" \
-d '{"email":"user@example.com","password":"password"}'
- Geschützte Route aufrufen:
curl -X GET http://api.pressekonto.test/api/user \
-H "Authorization: Bearer YOUR_TOKEN_HERE"
Zwei-Faktor-Authentifizierung
- Aktivieren Sie 2FA in Ihren Benutzereinstellungen
- Scannen Sie den QR-Code mit Ihrer Authentifizierungs-App
- 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 UIregister.blade.php- Registrierungsseite mit Flux UIforgot-password.blade.php- Passwort vergessen mit Flux UIreset-password.blade.php- Passwort zurücksetzen mit Flux UIverify-email.blade.php- E-Mail-Verifizierung mit Flux UIconfirm-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
- Konfigurieren Sie E-Mail-Einstellungen in
.envfür Passwort-Reset - Aktivieren Sie E-Mail-Verifizierung falls gewünscht
- Passen Sie die Livewire-Komponenten an Ihr Design an
- Erstellen Sie zusätzliche API-Routen nach Bedarf
- Konfigurieren Sie Flux UI Themes nach Ihren Wünschen