23-01-2026

This commit is contained in:
Kevin Adametz 2026-01-23 17:33:10 +01:00
parent 07959c0ba2
commit 854ce02bf6
166 changed files with 32909 additions and 1262 deletions

View file

@ -30,6 +30,45 @@ Route::group(['middleware' => config('fortify.middleware', ['web'])], function (
->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')])
@ -37,5 +76,5 @@ Route::group(['middleware' => config('fortify.middleware', ['web'])], function (
// Logout-Route
Route::post('/logout', [Laravel\Fortify\Http\Controllers\AuthenticatedSessionController::class, 'destroy'])
->name('logout');
->name('auth.logout');
});