QA-Befunde A4: 2FA-Bestätigungsschritt + sicherer E-Mail-Wechsel
- 2FA: Einrichtung verlangt jetzt die Bestätigung mit einem App-Code (Fortify confirm-Semantik); vorher blieb two_factor_confirmed_at leer und der Login fragte nie nach der Challenge. - Recovery-Codes nur noch einmalig sichtbar (nach Bestätigung bzw. Neu-Erzeugung), nicht mehr bei jedem Seitenaufruf. - E-Mail-Änderung als Pending-Flow: Bestätigungslink geht an die NEUE Adresse, die alte bleibt bis zum Klick aktiv — kein Aussperren durch Tippfehler und keine Registrierungs-Notice mehr nach dem Ändern. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
b7bbf6df4e
commit
15387d0a3f
8 changed files with 505 additions and 45 deletions
|
|
@ -1,5 +1,6 @@
|
|||
<?php
|
||||
|
||||
use App\Http\Controllers\Auth\ConfirmEmailChangeController;
|
||||
use App\Http\Controllers\Auth\GoogleController;
|
||||
use App\Http\Controllers\Auth\MagicLinkConsumeController;
|
||||
use App\Http\Controllers\Auth\VerifyEmailController;
|
||||
|
|
@ -69,6 +70,12 @@ Route::group(['middleware' => config('fortify.middleware', ['web'])], function (
|
|||
})->middleware(['auth:'.config('fortify.guard'), 'throttle:6,1'])
|
||||
->name('verification.send');
|
||||
|
||||
// Signierter Bestätigungslink für eine E-Mail-Änderung (geht an die NEUE
|
||||
// Adresse; erst der Klick übernimmt sie ins Konto).
|
||||
Route::get('/email-aendern/{user}/{hash}', ConfirmEmailChangeController::class)
|
||||
->middleware(['auth:'.config('fortify.guard'), 'signed', 'throttle:6,1'])
|
||||
->name('email-change.confirm');
|
||||
|
||||
// 2FA-Challenge-Seite (Volt-Frontend für Fortifys two-factor-challenge);
|
||||
// der eigentliche POST geht an Fortifys Controller.
|
||||
Volt::route('/two-factor-challenge', 'auth.two-factor-challenge')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue