Dieses Tutorial zeigt, dass ein robustes OAuth2 -Server innerhalb einer Laravel -Anwendung mit der Laravel -Passbibliothek erstellt wird. Wir werden die Serverkonfiguration behandeln und ein praktisches Beispiel für den Verzehr von OAuth2 -APIs angeben. Grundlegendes OAuth2 -Wissen wird angenommen. Laravel Pass vereinfacht den Prozess erheblich.
Das Tutorial ist in zwei Teile unterteilt: Installation und Konfiguration der Bibliothek, gefolgt vom Erstellen und Verbrauch von Beispielressourcen.
Serverkonfiguration
In diesem Abschnitt werden die erforderlichen Komponenten für Passpass mit Laravel installiert und konfiguriert.
.Installation der Laravel -Pass -Bibliothek
Verwenden Sie den Komponisten, um die Bibliothek zu installieren:
composer require laravel/passport
Dies führt zu der Pass -Installation. Als nächstes werden wir es in Laravel integrieren.
Aktivieren Sie den Passdienst
config/app.php
Laravel verwendet Dienstanbieter, um Anwendungsdienste zu verwalten. Um den Pass zu aktivieren, müssen Sie seinen Dienstanbieter zu boot
hinzufügen. (Wenn Sie mit Laravel -Dienstanbietern nicht vertraut sind, beziehen Sie sich auf eine relevante Einführungsressource.) Entscheidend müssen Sie auch die Routen des Passports registrieren (innerhalb der app/Providers/AuthServiceProvider.php
-Methode von php artisan passport:install
) und den Befehl
php artisan passport:client
Der Eintrag fordert Details ein: Benutzer -ID, Clientname und URI umleiten. In der Umleitungs -URI wird der Benutzer nach der Autorisierung umgeleitet, wobei der Autorisierungscode trägt.
Nehmen wir die folgende Ausgabe an:
<code>New client created successfully. Client ID: 3 Client secret: 1BT1tNj0Are27IGvIZe4lE2jRjtiVt0fmtaWBe8m</code>
Jetzt können wir die OAuth2 -Apis testen.
oauth2_client
Für dieses Beispiel werden wir ein
erstellen oAuth2_client/auth_redirection.php
:<?php $query = http_build_query([ 'client_id' => '3', 'redirect_uri' => 'http://localhost/oauth2_client/callback.php', 'response_type' => 'code', 'scope' => '', ]); header('Location: http://your-laravel-site-url/oauth/authorize?' . $query); ?>
client_id
Denken Sie daran, Platzhalter wie redirect_uri
und
Erstellen Sie als nächstes oAuth2_client/callback.php
:<?php if (isset($_REQUEST['code']) && $_REQUEST['code']) { $ch = curl_init(); $url = 'http://your-laravel-site-url/oauth/token'; $params = [ 'grant_type' => 'authorization_code', 'client_id' => '3', 'client_secret' => '1BT1tNj0Are27IGvIZe4lE2jRjtiVt0fmtaWBe8m', 'redirect_uri' => 'http://localhost/oauth2_client/callback.php', 'code' => $_REQUEST['code'], ]; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $params_string = ''; if (is_array($params) && count($params)) { foreach ($params as $key => $value) { $params_string .= $key . '=' . $value . '&'; } rtrim($params_string, '&'); curl_setopt($ch, CURLOPT_POST, count($params)); curl_setopt($ch, CURLOPT_POSTFIELDS, $params_string); } $result = curl_exec($ch); curl_close($ch); $response = json_decode($result); if (isset($response->access_token) && $response->access_token) { $access_token = $response->access_token; $ch = curl_init(); $url = 'http://your-laravel-site-url/api/user/get'; $header = ['Authorization: Bearer ' . $access_token]; $query = http_build_query(['uid' => '1']); curl_setopt($ch, CURLOPT_URL, $url . '?' . $query); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); $result = curl_exec($ch); curl_close($ch); $response = json_decode($result); var_dump($result); } } ?>
Passen Sie erneut URLs und Anmeldeinformationen nach Bedarf an.
Workflow
Der Benutzer interagiert mit zwei Anwendungen: der Laravel-Anwendung (mit einem vorhandenen Konto) und dem Drittanbieter-Client (Auth_redirection.php und Callback.php).
- Der Benutzer greift auf
http://localhost/oauth2_client/auth_redirection.php
. zugänglich
- Dies leitet auf die Autorisierungsseite der Laravel -Anwendung aus.
- Nach Anmeldung und Autorisierung wird der Benutzer mit einem Autorisierungscode zu
http://localhost/oauth2_client/callback.php
umgeleitet. -
callback.php
tauscht den Code gegen einen Zugriffstoken aus. - Das Zugangs -Token wird verwendet, um API -Aufrufe zu tätigen (z. B. nach
http://your-laravel-site-url/api/user/get
).
Schlussfolgerung
Dieses Tutorial präsentierte Laravel Passport -Benutzerfreundlichkeit bei der Einrichtung eines OAuth2 -Servers. Für weitere Ressourcen für Laravel -Entwicklungen finden Sie den Envato -Markt.
Das obige ist der detaillierte Inhalt vonRichten Sie einen OAuth2 -Server mit dem Passport in Laravel ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Der Artikel erläutert, wie Schnittstellen in PHP erstellt, implementiert und verwendet werden und sich auf ihre Vorteile für die Organisation von Code und die Wartbarkeit konzentriert.

In dem Artikel werden die Unterschiede zwischen CryPT () und Passage_hash () in PHP für Passwort -Hashing erörtert und sich auf ihre Implementierung, Sicherheit und Eignung für moderne Webanwendungen konzentriert.

In Artikel werden in PHP durch Eingabevalidierung, Ausgabecodierung und Verwendung von Tools wie OWASP ESAPI und HTML-Reinigungsmittel die Verhinderung des Cross-Site-Skripts (XSS) erläutert.

Das Autolading in PHP lädt bei Bedarf die Klassendateien automatisch und verbessert die Leistung durch Reduzierung des Speichergebrauchs und Verbesserung der Codeorganisation. Zu den Best Practices gehört die Verwendung von PSR-4 und das organisierende Code effektiv.

PHP -Streams vereinheitlichen die Handhabung von Ressourcen wie Dateien, Netzwerkhöhlen und Komprimierungsformaten über eine konsistente API, die Komplexität abstrahieren und die Flexibilität und Effizienz der Code verbessern.

In dem Artikel wird das Verwalten von Datei -Upload -Größen in PHP erläutert, wobei der Schwerpunkt auf der Standardgrenze von 2 MB und der Erhöhung der PHP.ini -Einstellungen liegt.

In dem Artikel werden nullbare Typen in PHP erörtert, die in PHP 7.1 eingeführt wurden und ermöglicht, dass Variablen oder Parameter entweder ein angegebener Typ oder ein Null sind. Es zeigt Vorteile wie eine verbesserte Lesbarkeit, Typsicherheit und explizite Absicht und erklärt, wie man deklariert

Der Artikel erörtert die Unterschiede zwischen UNSET () und Unlink () in der Programmierung und konzentriert sich auf ihre Zwecke und Anwendungsfälle. UnSet () entfernt Variablen aus dem Speicher, während Unlink () Dateien aus dem Dateisystem löscht. Beide sind für Effec von entscheidender Bedeutung


Heiße KI -Werkzeuge

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

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

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool
