auth tests
This commit is contained in:
36
backend/routes/api.php
Normal file
36
backend/routes/api.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\AuthController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
// File "core": rotte di sessione e pubbliche trasversali. Le rotte per modello
|
||||
// stanno in routes/api/*.php, caricate automaticamente dal then: in bootstrap/app.php
|
||||
// (prefisso `api` + tier riusabili `tier.app` / `tier.admin`).
|
||||
|
||||
$AUTH = 'auth:sanctum';
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
// Rotte pubbliche (nessun auth), protette dal throttling.
|
||||
// Limiter `public` definito in App\Providers\AppServiceProvider::boot()
|
||||
// (60 req/min per IP) — modificare lì il limite.
|
||||
// -----------------------------------------------------------------------
|
||||
Route::middleware('throttle:public')->group(function () {
|
||||
// Solo endpoint GET (index/show) leggibili da chiunque.
|
||||
});
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
// Tier "transitional": autenticato, MA setup eventualmente incompleto
|
||||
// (password forzata da cambiare e/o 2FA non ancora configurata).
|
||||
//
|
||||
// ⚠️ NON aggiungere `setup.complete` qui: queste rotte devono restare
|
||||
// raggiungibili PROPRIO durante il setup, altrimenti deadlock. In particolare
|
||||
// il frontend legge GET /user per scoprire `setup_status` e decidere cosa
|
||||
// mostrare. Le azioni di setup vero (cambio password, abilitazione 2FA) e la
|
||||
// verifica email le registra Fortify, già auth-only e fuori da `setup.complete`.
|
||||
// -----------------------------------------------------------------------
|
||||
Route::middleware($AUTH)->group(function () {
|
||||
Route::get('/user', [AuthController::class, 'me']);
|
||||
// Sovrascrive la rotta logout di Fortify (registrata dopo → precedenza).
|
||||
Route::post('/logout', [AuthController::class, 'logout']);
|
||||
Route::delete('/account', [AuthController::class, 'destroyAccount']);
|
||||
});
|
||||
Reference in New Issue
Block a user