Laravel Sanctum è un pacchetto di Laravel che rende facile aggiungere l’autenticazione basata su token alle tue API, oltre a gestire l’autenticazione di Single Page Applications (SPA) e app mobile.
Indice dei contenuti
Funzionalità Principali di Laravel Sanctum
1. Token API:
Puoi generare token per gli utenti, che poi usano per fare richieste API al server. Ogni utente può avere diversi token per vari dispositivi o scopi.
2. Autenticazione per SPAs e Mobile:
Sanctum funziona anche per autenticare richieste da SPAs e app mobile utilizzando cookie di sessione. È sicuro e semplice.
3. Revoca dei Token:
Gli utenti possono revocare i token quando vogliono, quindi hai un controllo extra sulla sicurezza.
4. Permessi e Ambiti:
Puoi assegnare permessi specifici ai token API, quindi ogni token può fare solo certe cose nell’app.
Come Funziona Laravel Sanctum
– Configurazione:
Installa Sanctum con Composer e configuralo nel file di configurazione di Laravel. Dovrai anche migrare il database per creare le tabelle per i token.
– Generazione dei Token:
Gli utenti possono generare token tramite endpoint API. Ogni token è unico e serve per autenticare le richieste future.
– Protezione delle Route:
Puoi proteggere le route API con il middleware di Sanctum, così solo le richieste con token validi possono accedere.
Esempio di Utilizzo
use Illuminate\Http\Request; use App\Models\User; // Generare un nuovo token per l'utente autenticato Route::post('/sanctum/token', function (Request $request) { $user = User::where('email', $request->email)->first(); if (! $user || ! Hash::check($request->password, $user->password)) { return response()->json(['message' => 'Invalid credentials'], 401); } $token = $user->createToken('token-name')->plainTextToken; return response()->json(['token' => $token]); }); // Utilizzare il token per accedere a route protette Route::middleware('auth:sanctum')->get('/user', function (Request $request) { return $request->user(); }); |
Quando Usare Laravel Sanctum
– APIs Facili: Se stai costruendo un’API e hai bisogno di un modo semplice per autenticare gli utenti.
– SPAs: Quando hai un’app SPA e vuoi una soluzione di autenticazione senza troppi fronzoli.
– App Mobile: Perfetto per autenticare le richieste delle tue app mobile senza complicazioni.
Perché Usarlo
– Semplicità: È super facile da implementare e usare, perfetto se non vuoi complicarti la vita con sistemi di autenticazione troppo complessi.
– Sicurezza: Ti dà un controllo granulare su chi può fare cosa nella tua API.
– Flessibilità: Supporta diversi scenari di autenticazione, quindi è adatto a molte situazioni.
Laravel Sanctum è ideale per chi vuole un sistema di autenticazione robusto e flessibile senza dover perdere troppo tempo a configurare e mantenere tutto. Se sei uno sviluppatore con una buona esperienza e cerchi qualcosa di efficiente e facile da usare, Sanctum fa al caso tuo!