Vorteile der Verwendung von Laravel Pass:
Das OAuth2 -Protokoll kann mithilfe des Laravel -Passworts in die Laravel -Anwendung integriert werden. Wenn der Benutzer Daten aus der Anwendung abrufen oder einfügen möchte, wird die Zugriffsanforderung von diesem Protokoll gesendet. Die Genehmigung wird dem Benutzer erteilt, indem der Benutzer für den Zugriff autorisiert wird. Einige wichtige Vorteile der Passauthentifizierung werden nachstehend erwähnt.
Voraussetzungen:
Sie müssen die folgende Aufgabe erledigen, bevor Sie Laravel Pass für die Benutzerauthentifizierung installieren und verwenden.
Installieren Sie Laravel Pass:
Führen Sie den folgenden Befehl vom Terminal aus, um das Laravel -Passpaket mit dem Komponisten zu installieren.
$ Composer benötigt Laravel/Pass
Sie müssen das erstellen Benutzer Tabelle in der Datenbank vor der Installation des Passpakets. Drei Migrationsdateien und a Benutzer Das Modell wurde automatisch generiert, wenn ein neues Laravel -Projekt erstellt wird. Einer von ihnen wird verwendet, um a zu erstellen Benutzer Tisch. Gehen Sie zum Ordner des Laravel -Projekts und führen Sie den folgenden Migrate -Befehl aus, um das zu erstellen Benutzer Tisch.
$ php Artisan migrierenFühren Sie den folgenden Befehl aus, um das Passpaket für das Projekt zu installieren.
$ php Artisan Pass: InstallationSie erhalten die folgenden Informationen, nachdem Sie Laravel Passport in Ihrem Projekt erfolgreich installiert haben. Hier werden zwei geheime Schlüssel erzeugt. Eins für Personal Access Client und eine andere für Passwort Grant Client.
Laravel -Passkonfiguration:
Öffne das Benutzer Modell, das sich am Standort befindet, App \ Modell.Php von einem Editor und ändern Sie das Modell wie unten. Hinzufügen Laravel \ passport \ hasapitokens Zu Beginn der Klasse und verwenden.
Namespace App;Als nächstes offen App/Anbieter/AuthServiceProvider.Php Um die Routen zu registrieren, die zur Ausstellung und widerrufener Zugriffsstopps erforderlich sind. Passport :: Routes -Methode wird innerhalb der Boot -Methode von aufgerufen AuthServiceProvider. Ändern Sie den Inhalt der unten gezeigten Datei.
Namespace App \ Providers;Als nächstes offen config \ App.Php und fügen Sie die folgende Zeile in die Anbieter Array, um die erforderliche Klasse für die Verwendung von Laravel Pass einzuschließen.
Laravel \ Passport \ PassportserviceProvider :: Klasse,Als nächstes offen config \ auth.Php und setzen Sie den Treiber der API auf Reisepass im Wachen Array unten gezeigt.
'Wachen' => [Controller zur Registrierung und Authentifizierung implementieren:
Sie müssen einen Controller für die Implementierung des Authentifizierungssystems über das Passpaket erstellen. Führen Sie den folgenden Befehl aus dem Projektstammordner aus, um zu erstellen Apicontroller.
$ php Artisan Make: Controller ApicontrollerIm nächsten Teil dieses Tutorials werden drei Methoden im Inneren hinzugefügt Apicontroller Um einen neuen Benutzer zu erstellen, einen Benutzer zu authentifizieren und die detaillierten Informationen eines authentifizierten Benutzers zu erhalten.
A. Registrieren
Ein neuer Benutzer kann in die erstellt werden Benutzer Tabelle durch Implementierung a registrieren() Methode. Fügen Sie den folgenden Code in den hinzu Apicontroller Um die Register -API zu implementieren. Die erforderlichen Feldwerte für die Erstellung eines neuen Benutzers werden durch das Argument abgerufen, $ Anfrage der Methode registrieren(). Validator Die Klasse wird verwendet, um die Feldwerte zu überprüfen, die gültig sind oder nicht auf den definierten Validierungsregeln basieren. Wenn der fehlschlägt () Die Methode gibt True zurück, dann wird eine Fehlermeldung im JSON -Format zurückgegeben. Wenn der fehlschlägt () Die Methode gibt False zurück, dann generiert ein Hash -Kennwort und neue Benutzerinformationen werden in die Benutzertable eingefügt. Ein Token wird generiert, nachdem der neue Benutzer erstellt wurde, und eine Erfolgsnachricht mit Token -Wert wird zurückgegeben.
öffentliches Funktionsregister (Anfrage $ Anfrage)B. Anmeldung:
Jeder Benutzer kann durch Implementierung authentifiziert werden die Anmeldung () Methode. Fügen Sie den folgenden Code darin hinzu Apicontroller Implementieren einer Login -API. Die erforderlichen Felder zur Authentifizierung eines Benutzers werden von der abgerufen $ Anfrage von die Anmeldung () Methode. versuchen() Die Methode überprüft die Werte von Email Und Passwort Für die Authentifizierung. Wenn die Werte mit den Werten der entsprechen Benutzer Tabelle dann wird der Aufzeichnung dieses bestimmten Benutzers abgerufen und ein Token -Wert wird zurückgegeben. Wenn die Authentifizierung fehlschlägt, dann ist eine Nicht autorisiert Nachricht wird zurückgegeben.
Login für öffentliche Funktion (Anfrage $ Anfrage)C. Benutzerdetail
Sie können die detaillierten Informationen eines Benutzers nach der Authentifizierung durch die Implementierung der Benutzer -API erhalten. Fügen Sie den folgenden Code in den hinzu Apicontroller Um die detaillierten Informationen eines authentifizierten Benutzers abzurufen.
öffentliche Funktion user_info ()API -Route für den Controller:
Öffne das Routen \ App.Php Dateien Sie den Inhalt mit den folgenden Codes und ändern.
/** Route für Anmelde -API*/Führen Sie den folgenden Befehl aus, um den Laravel Development Server zu starten.
$ php Artisan servierenTesten Sie die API -Authentifizierung mit Postman:
Postman ist ein sehr nützliches Instrument, um erholsame APIs zu testen. Die HTTP -Anforderung kann sehr einfach generiert werden, um API -Funktionen mithilfe der Benutzeroberfläche dieser Anwendung zu testen, ohne eine große Menge Code zum Senden von Anforderungen zu schreiben. Postman kann verschiedene HTTP -Anfragen und -versorgungsunternehmen zur Entwicklung von APIs behandeln. Es hat sowohl bezahlte als auch kostenlose Versionen für Linux.
Postman Agent installieren:
Führen Sie den folgenden Befehl vom Terminal aus, um einen Postmann -Agenten auf Ubuntu zu installieren.
$ sudo snap installieren Sie PostboteÖffnen Sie die Anwendung nach der Installation. Die folgende Schnittstelle wird nach dem Öffnen des neuen Fensters des Postboten angezeigt.
Testregister -API:
Klick auf das Erstellen Sie eine Anfrage Link zum Öffnen des Anforderungsfensters. Der Laravel Development Server läuft am Port 8000 standardmäßig wird hier verwendet. Wenn Sie einen anderen Port verwenden, müssen Sie die Portnummer in Ihrer URL ändern. Die Postmethode wird aus der Dropdown-Down-Down-Methode ausgewählt und die folgende URL wird verwendet, um eine API-Anforderung für die Register-API zu senden.
http: // localhost: 8000/api/Register
Drei Felder werden als obligatorische Felder für die definiert Benutzer Tabelle zum Erstellen eines neuen Benutzers. Diese sind Name, Email, Und Passwort. Stellen Sie drei Schlüssel und Werte für diese unten gezeigten Felder fest und klicken Sie auf die schicken Taste. Der registrieren() Methode von Apicontroller wird gemäß der Route angerufen, wenn die Anfrage ordnungsgemäß gesendet wird.
Die folgende Antwort wird angezeigt, wenn der neue Benutzerdatensatz erfolgreich in die eingefügt wird Benutzer Tisch. Der Antwortcode, 200 Gibt an, dass die HTTP -Anforderung erfolgreich war und ein Token generiert wird.
Testen Sie Anmelde -API:
Wähle aus POST Methode wie die Registrieren Sie die API das wird vorher gezeigt. Legen Sie die folgende URL in der Adressleiste fest, um eine API -Anfrage für Anmeldung API zu senden.
http: // localhost: 8000/api/login
Zwei Felder sind obligatorisch, um jeden Benutzer basierend auf den Aufzeichnungen der Aufzeichnungen zu authentifizieren Benutzer Tisch. Diese sind Email Und Passwort. Stellen Sie zwei Schlüssel und Werte für diese unten gezeigten Felder fest und klicken Sie auf die schicken Taste. Der Anmeldung() Methode von Apicontroller wird gemäß der Route angerufen, wenn die Anfrage ordnungsgemäß gesendet wird.
Die folgende Antwort wird angezeigt, wenn der Benutzer erfolgreich auf der Grundlage der Aufzeichnungen der Aufzeichnungen authentifiziert wird Benutzer Tisch. Der Antwortcode, 200 zeigt an, dass die HTTP -Anfrage erfolgreich war. Der Token -Wert wird generiert, nachdem der Benutzer authentifiziert und die Antwortkörper im JSON -Format zurückgegeben wird.
Sie erhalten die folgende Antwortbehörde, wenn die falschen Anmeldeinformationen zur Authentifizierung des Benutzers bereitgestellt werden. 401 Der Fehlercode wird hier generiert, um einen unbefugten Zugriff anzuzeigen.
Testen Sie Benutzerdetails API:
Einige Headerparameter müssen vor dem Senden der Anforderung für Details API eingerichtet werden. Klick auf das Header Registerkarte des Anforderungsabschnitts und fügen Sie drei Header -Werte hinzu, um den authentifizierten Benutzer zu identifizieren. Der Token -Wert wird aus der Antwortkörper kopiert und für den Autorisierungswert festgelegt.
Akzeptieren: Anwendung/JSONDer Abschnitt über den Header des Anforderungsteils wird wie das folgende Bild aussehen. Sie müssen Ihren Token -Wert festlegen, der in der Antwortkörper Ihres Postmanagers erzeugt wird.
Klicken Sie anschließend auf die Genehmigung Registerkarte des Anforderungsabschnitts und auswählen Trägertoken als Autorisierungstyp aus der Typ Dropdown-Liste.
Wählen Sie nun die aus POST Methode stellen Sie die folgende URL in der Adressleiste fest. Es wird das anrufen Benutzerinformation() Methode von Apicontroller Dadurch werden die detaillierten Informationen des authentifizierten Benutzers abgerufen.
http: // localhost: 8000/api/DetailsWenn die Token -Wert- und Header -Informationen ordnungsgemäß bereitgestellt werden.
Videoanleitung
Abschluss:
Die Passport -Authentifizierung verwendet jetzt auf vielen Laravel -Websites für ihre nützlichen Funktionen. Es macht das Laravel -Authentifizierungssystem sicherer als die Standardauthentifizierung und bietet andere Dienste, die in der Standardauthentifizierung nicht verfügbar sind. Die grundlegenden Verwendungen von Laravel Pass mit dem Installations- und Konfigurationsprozess werden in diesem Tutorial ordnungsgemäß beschrieben. Die Verwendung des Postman -Agenten wird hier ebenfalls gezeigt, um die API zu testen. Ich hoffe, der Leser wird die Funktionen des Passpakets nach dem Lesen dieses Tutorials verstehen.