Heim > Backend-Entwicklung > PHP-Tutorial > Day Building APIs mit Laravel Sanctum

Day Building APIs mit Laravel Sanctum

Barbara Streisand
Freigeben: 2025-01-09 14:05:41
Original
870 Leute haben es durchsucht

Day Building APIs with Laravel Sanctum

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 verstehen

Laravel Sanctum vereinfacht die API-Authentifizierung und bietet zwei Schlüsselfunktionen:

  • Tokenbasierte Authentifizierung: Ideal für APIs, auf die externe Dienste oder mobile Anwendungen zugreifen.
  • Sitzungsbasierte Authentifizierung: Am besten geeignet für Single-Page-Anwendungen (SPAs), bei denen Frontend und Backend dieselbe Domäne teilen.

Im Gegensatz zu komplexeren Lösungen eignet sich Sanctum dank seiner leichten Beschaffenheit und unkomplizierten Konfiguration perfekt für Anwendungen ohne OAuth-Anforderungen.

Implementierung von Laravel Sanctum

Schritt 1: Installation

Installieren Sie Sanctum mit Composer:

<code class="language-bash">composer require laravel/sanctum</code>
Nach dem Login kopieren
Nach dem Login kopieren

Schritt 2: Konfiguration veröffentlichen

Veröffentlichen Sie die Sanctum-Konfigurationsdatei:

<code class="language-bash">php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"</code>
Nach dem Login kopieren

Dadurch wird config/sanctum.php generiert, was die Anpassung der Sanctum-Einstellungen ermöglicht.

Schritt 3: Datenbankmigration

Sanctum verwendet einen personal_access_tokens Tisch. Erstellen Sie diese Tabelle:

<code class="language-bash">php artisan migrate</code>
Nach dem Login kopieren

Schritt 4: Middleware-Konfiguration

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>
Nach dem Login kopieren

Tokenbasierte Authentifizierung in der Praxis

Schritt 1: Routenschutz

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>
Nach dem Login kopieren

Schritt 2: Token-Generierung

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>
Nach dem Login kopieren

Schritt 3: Token-Widerruf

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>
Nach dem Login kopieren

Single-Page Application (SPA)-Integration

Sanctum nutzt sitzungsbasierte Authentifizierung für SPAs.

Schritt 1: CSRF-Schutz

Stellen Sie sicher, dass die EnsureFrontendRequestsAreStateful Middleware innerhalb der api Middleware-Gruppe korrekt konfiguriert ist.

Schritt 2: Frontend-Konfiguration

CSRF-Tokens mit authentifizierten AJAX-Anfragen von Ihrem SPA senden:

<code class="language-bash">composer require laravel/sanctum</code>
Nach dem Login kopieren
Nach dem Login kopieren

Best Practices für die Sicherheit

  • Token-Sicherheit:Token sicher speichern (z. B. in reinen HTTP-Cookies) und clientseitige Offenlegung verhindern.
  • Token-Ablauf: Implementieren Sie den Token-Ablauf, um die mit durchgesickerten Token verbundenen Risiken zu mindern.
  • Bereichsbeschränkung: Definieren Sie spezifische Bereiche für Token, um deren Berechtigungen zu steuern.

Fazit

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage