Installieren Sie Laravel Sanctum über Komponist und ver?ffentlichen Sie seine Dateien, führen Sie dann Migrationen aus. 2. Fügen Sie dem Benutzermodell das Merkmal von Hasapitokens hinzu. 3. Definieren Sie die Anmeldungs-, Abmeldungs- und Benutzerrouten in api.php unter Verwendung von Sanctums Auth: Sanctum Middleware. 4. Schützen Sie die API -Routen, indem Sie die AUTH: Sanctum Middleware anwenden. 5. Fügen Sie den Tr?ger -Token in den Autorisierungsheader bei, wenn Sie Anfragen stellen. Laravel Sanctum wird für eine einfache auf Tokenbasis basierende API-Authentifizierung in Spas oder mobilen Apps empfohlen, die eine leichte, sichere L?sung mit minimalem Setup bietet und für die meisten internen Anwendungen ausreicht. Verwenden Sie stattdessen Laravel-Pass, wenn der vollst?ndige OAuth2-Unterstützung für den Zugriff auf Drittanbieter erforderlich ist.
Die Authentifizierung einer API in Laravel umfasst typischerweise die Verwendung von Laravel Sanctum oder Laravel Pass. Für die meisten modernen Anwendungsf?lle-insbesondere für Spas, mobile Apps oder eine einfache Authentifizierung auf Tokenbasis-ist Laravel Sanctum die empfohlene und einfachere Wahl. Hier erfahren Sie, wie Sie die API -Authentifizierung mit Laravel Sanctum einrichten.

1. Installieren und konfigurieren Sie Laravel Sanctum
Installieren Sie sanctum zun?chst per Komponist:
Der Komponist ben?tigt Laravel/Sanctum
Ver?ffentlichen Sie dann die Sanctum -Konfigurations- und Migrationsdateien:

PHP Artisan Vendor: Publish -Provider = "Laravel \ Sanctum \ SanctumServiceProvider"
Führen Sie die Migrationen aus, um die Tabelle "Personal Access Tokens" zu erstellen:
PHP Artisan migrieren
2. Fügen Sie Ihr Benutzermodell das Heiligtumsmerkmal hinzu
Stellen Sie sicher, dass Ihr User
das Merkmal HasApiTokens
verwendet:

Verwenden Sie Laravel \ Sanctum \ Hasapitokens; Der Klassenbenutzer erweitert authentifizierbar { Verwenden Sie Hasapitokens; // ... }
3. Richten Sie Authentifizierungsrouten ein
Definieren Sie in routes/api.php
Login-, Abmelden- und Benutzerendpunkte:
Verwenden Sie Illuminate \ http \ request; Verwenden Sie Illuminate \ Support \ facades \ auth; Route :: post ('/login', Funktion (Request $ request) { $ zertifizieren = $ request-> nur ('E-Mail', 'Passwort'); if (Auth :: Versuch ($ Anmeldeinformationen)) { $ user = auth :: user (); $ token = $ user-> createToken ('api-token')-> PlaintextToken; return response ()-> json (['token' => $ token]); } return response ()-> json (['error' => 'nicht autorisiert'], 401); }); Route :: Middleware ('Auth: Sanctum')-> Gruppe (function () { Route :: get ('/user', function ($ $ request) { $ request-> user () zurückgeben; }); Route :: post ('/logout', Funktion (Anfrage $ request) { $ request-> user ()-> currentAccessToken ()-> delete (); return response ()-> json (['message' => 'angemeldet']); }); });
4. Schützen Sie Ihre API -Routen
Verwenden Sie das auth:sanctum
Middleware, um Routen zu schützen, die eine Authentifizierung erfordern:
Route :: Middleware ('Auth: Sanctum')-> get ('/Protected-Data', Funktion (Anfrage $ request) { return response ()-> json (['data' => 'Dies ist geschützt!']); });
5. Anfragen mit dem Tr?gertoken senden
Wenn Sie Anfragen von Ihrem Frontend oder Kunden stellen, fügen Sie das Token in den Authorization
ein:
GET /API /Benutzer Autorisierung: Tr?ger 1 | Ihr Langzeitverteidiger Akzeptieren: Anwendung/JSON
Sie k?nnen dieses Token sicher in Ihrem Frontend speichern (z. B. LocalStorage oder sichere HTTP-Cookies, die je nach Setup).
Optional: Anpassen von Token -Ablauf (Sanctum)
Standardm??ig verfallen Sanctum -Token nicht. Wenn Sie Ablauf hinzufügen m?chten, müssen Sie die Token -Erstellung anpassen. Eine M?glichkeit besteht darin, ein Ablauffeld in der Datenbank manuell festzulegen und es w?hrend Anfragen zu überprüfen.
Wann kann stattdessen Passpass verwendet werden?
Verwenden Sie Laravel Pass, wenn:
- Sie ben?tigen einen vollst?ndigen OAUTH2-Support (z. B. Kunden von Drittanbietern, Autorisierungscodes, Aktualisierungstoken).
- Sie bauen eine ?ffentliche API für Entwickler von Drittanbietern.
Der Pass ist schwerer und komplexer. Bei internen APIs oder einem einfachen Token -Auth ist Heiligtum ausreichend und einfacher.
Grunds?tzlich bietet Sanctum Ihnen einen leichten und sicheren Weg, um API -Anfragen in Laravel mit minimalem Setup zu authentifizieren. Installieren Sie es einfach, fügen Sie das Merkmal hinzu, erstellen Sie Token auf Anmeldung und schützen Sie Routen mit Middleware.
Das obige ist der detaillierte Inhalt vonWie man eine API in Laravel authentifiziert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT
KI-gestützte Anlageforschung für intelligentere Entscheidungen

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

LaravelusesmonologtologMessagesViathelogfacade, withefaultLogStoredInstorage/logs/laravel.log.configurechannelsinconfig/logging.phptocontroloutput; thedefaultStackchannelaggatesMulthandleSlerslikesingle: WARNSLIKSLE:

InstalllaravelsanctumviaComposerandpublishitsFiles, thenrunmigrations.2.addthehasapitokenStHeTotheumodel..Definelogin, logout, andusereRroutesinapi.php, ussingtum'uth: santummiddleware

AcountrycanaccessallpostsThroughussersesusingHasManyThrough.Fexample, With Countries, Benutzer und PoststablesLinkedByforegnkeys, thecountryModeldefinesahasManyThroughrelationSiptopostviouser, EntringingIntirectdatarethriehrung-to-Manyrelatio

Der Laravel Resource Controller verarbeitet CRUD -Operationen schnell durch Rastful Routing, verwendet den Befehl Artisan, um Controller zu generieren und Ressourcenrouten zu registrieren, und kann alle Standardrouten in einer einzelnen Codezeile erstellen, die die Einschr?nkung von Aktionen unterstützt, die Middleware -Marke hinzufügt und die Benennung von Middleware -Benutzern und Maschinenverkehrsmodell -Bindung automatisch analysieren, die Entwicklung der Entwicklungswirkungsstrukturen verbessert und die Codestruktur speichern.

ToimplementapiauthenticationWithlaravelsanktum, youEeedtoSetuptoken-basierte authentifizierungsthatallowsspas, MobileApps und THERRT-PARTYSVICESTOSELEY Accessyourapi.SanktumProvidesalightweigroachByissuingapitokenthatcan

Verwenden Sie die Funktion "Redirect () Helfer, um die Umleitung im Laravel-Controller zu realisieren, wie z. Es wird empfohlen, benannte Routen zu verwenden, um die Wartbarkeit zu verbessern.

Verwenden Sie die DB -Fassade, um native SQL auszuführen, DB :: SELECT, DB :: Einfügen, db :: update oder db :: L?schen gem?? dem Abfragetyp und verwenden Sie die Parameterbindung, um die SQL -Injektion zu verhindern. DB :: Unvorbereitet kann für strukturelle Ver?nderungen verwendet werden. In Kombination mit db :: rohen k?nnen native Ausdrücke in den Abfragekonstruktor eingebettet werden.

Konfigurieren Sie die zweite Datenbankverbindung: Fügen Sie eine neue Verbindung in config/database.php hinzu und setzen Sie die .Env -Variable. 2. Verwenden Sie db :: connection ('mysql_second') oder das Modell $ connection -Attribut, um die Verbindung anzugeben. 3.. Verwenden Sie die Methode ON (), um w?hrend der Laufzeit dynamisch zu wechseln. V.
