config('fortify.middleware', ['web'])], function () { // Login mit Livewire Volt::route('/login', 'auth.login') ->middleware(['guest:' . config('fortify.guard')]) ->name('login'); // Registrierung mit Livewire Volt::route('/register', 'auth.register') ->middleware(['guest:' . config('fortify.guard')]) ->name('register'); // Passwort vergessen mit Livewire Volt::route('/forgot-password', 'auth.forgot-password') ->middleware(['guest:' . config('fortify.guard')]) ->name('password.request'); // Passwort zurücksetzen mit Livewire Volt::route('/reset-password/{token}', 'auth.reset-password') ->middleware(['guest:' . config('fortify.guard')]) ->name('password.reset'); // E-Mail-Verifizierung mit Livewire Volt::route('/verify-email', 'auth.verify-email') ->middleware(['auth:' . config('fortify.guard')]) ->name('verification.notice'); // E-Mail-Verifizierung durchführen (ohne Login - verifiziert und loggt User ein) Route::get('/email/verify/{id}/{hash}', function (Illuminate\Http\Request $request, $id, $hash) { // Ablaufzeit prüfen $expires = $request->query('expires'); if ($expires && time() > $expires) { return redirect()->route('login') ->withErrors(['email' => __('Der Verifizierungslink ist abgelaufen. Bitte fordern Sie einen neuen an.')]); } // User finden $user = \App\Models\User::findOrFail($id); // Hash überprüfen (E-Mail-Hash) if (!hash_equals($hash, sha1($user->getEmailForVerification()))) { abort(403, __('Ungültiger Verifizierungslink.')); } // E-Mail verifizieren (falls noch nicht verifiziert) if (!$user->hasVerifiedEmail()) { $user->markEmailAsVerified(); // Event auslösen (für Listeners) event(new \Illuminate\Auth\Events\Verified($user)); } // User einloggen \Illuminate\Support\Facades\Auth::login($user); return redirect()->route('partner.setup.wizard') ->with('message', __('E-Mail erfolgreich verifiziert! Willkommen! Bitte schließen Sie Ihr Setup ab.')); })->name('verification.verify'); // E-Mail-Verifizierung erneut senden Route::post('/email/verification-notification', function (Illuminate\Http\Request $request) { $request->user()->sendEmailVerificationNotification(); return back()->with('message', __('Verifizierungslink wurde erneut gesendet!')); })->middleware(['auth:' . config('fortify.guard'), 'throttle:6,1'])->name('verification.send'); // Passwort bestätigen mit Livewire Volt::route('/confirm-password', 'auth.confirm-password') ->middleware(['auth:' . config('fortify.guard')]) ->name('password.confirm'); // Logout-Route Route::post('/logout', [Laravel\Fortify\Http\Controllers\AuthenticatedSessionController::class, 'destroy']) ->name('auth.logout'); });