Laravel Sanctum: Ein optimierter Ansatz zur API-Authentifizierung in modernen Anwendungen. APIs sind für die plattformübergreifende Kommunikation von entscheidender Bedeutung, und Sanctum bietet eine leichtgewichtige Lösung für deren Sicherung und fördert robuste und skalierbare Anwendungen. In diesem Leitfaden werden die Einrichtung, Funktionen und Anwendungsfälle von Sanctum erläutert, einschließlich SPAs und tokenbasierter Authentifizierung.
Laravel Sanctum vereinfacht die API-Authentifizierung und bietet zwei Schlüsselfunktionen:
Im Gegensatz zu komplexeren Lösungen eignet sich Sanctum dank seiner leichten Beschaffenheit und unkomplizierten Konfiguration perfekt für Anwendungen ohne OAuth-Anforderungen.
Installieren Sie Sanctum mit Composer:
<code class="language-bash">composer require laravel/sanctum</code>
Veröffentlichen Sie die Sanctum-Konfigurationsdatei:
<code class="language-bash">php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"</code>
Dadurch wird config/sanctum.php
generiert, was die Anpassung der Sanctum-Einstellungen ermöglicht.
Sanctum verwendet einen personal_access_tokens
Tisch. Erstellen Sie diese Tabelle:
<code class="language-bash">php artisan migrate</code>
Integrieren Sie die Middleware von Sanctum in Ihre api
Middleware-Gruppe innerhalb von app/Http/Kernel.php
:
<code class="language-php">'api' => [ \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class, 'throttle:api', \Illuminate\Routing\Middleware\SubstituteBindings::class, ],</code>
Sichere Routen in routes/api.php
mithilfe der auth:sanctum
Middleware:
<code class="language-php">use Illuminate\Support\Facades\Route; Route::middleware('auth:sanctum')->get('/user', function (Request $request) { return $request->user(); });</code>
Generieren Sie persönliche Zugriffstoken mit der createToken
-Methode:
<code class="language-php">use App\Models\User; use Illuminate\Http\Request; Route::post('/login', 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); } return $user->createToken('auth_token')->plainTextToken; });</code>
Widerrufen Sie das Token eines Benutzers zum Abmelden:
<code class="language-php">Route::post('/logout', function (Request $request) { $request->user()->tokens()->delete(); return response()->json(['message' => 'Logged out successfully']); });</code>
Sanctum nutzt sitzungsbasierte Authentifizierung für SPAs.
Stellen Sie sicher, dass die EnsureFrontendRequestsAreStateful
Middleware innerhalb der api
Middleware-Gruppe korrekt konfiguriert ist.
CSRF-Tokens mit authentifizierten AJAX-Anfragen von Ihrem SPA senden:
<code class="language-bash">composer require laravel/sanctum</code>
Laravel Sanctum bietet eine benutzerfreundliche und effiziente Möglichkeit, APIs für moderne Anwendungen zu sichern. Sein leichtes Design und die flexible API vereinfachen die Authentifizierung für Entwickler und machen es zu einem wertvollen Werkzeug sowohl für SPAs als auch für den tokenbasierten API-Zugriff. Experimentieren Sie in Ihren Projekten mit Sanctum, um seine Fähigkeiten voll auszuschöpfen.
Das obige ist der detaillierte Inhalt vonDay Building APIs mit Laravel Sanctum. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!