Heim PHP-Framework Laravel Laravel-Entwicklung: Wie implementiert man die API-Authentifizierung mit Laravel Passport und Lumen?

Laravel-Entwicklung: Wie implementiert man die API-Authentifizierung mit Laravel Passport und Lumen?

Jun 15, 2023 pm 08:35 PM
lumen api身份验证 laravel passport

Mit der rasanten Entwicklung der mobilen Technologie und des Cloud Computing haben viele Unternehmen ihre eigenen API-Dienste entwickelt und diese zu einem Teil ihres Kerngeschäfts gemacht. Während dieses Prozesses ist es sehr wichtig, API-Daten zu schützen und sicherzustellen, dass nur autorisierte Benutzer auf diese API-Daten zugreifen können. Daher wird die API-Authentifizierung zu einem wichtigen Thema. In Laravel und Lumen kann die API-Authentifizierung mit Laravel Passport implementiert werden.

Laravel Passport ist ein API-Authentifizierungssystem, das auf dem OAuth2-Standard basiert. Es bietet eine einfache Möglichkeit zum Erstellen einer API-Authentifizierung und unterstützt mehrere Clients und Autorisierungsmethoden. In diesem Artikel erfahren Sie, wie Sie die API-Authentifizierung mit Laravel Passport und Lumen implementieren.

Installation und Konfiguration von Laravel Passport

Zuerst müssen wir Laravel Passport im Laravel-Projekt installieren. Installieren Sie mit dem folgenden Befehl:

composer require laravel/passport
Nach dem Login kopieren

Nach Abschluss der Installation müssen wir den folgenden Befehl ausführen, um die erforderlichen Migrationen durchzuführen:

php artisan migrate

php artisan passport:install
Nach dem Login kopieren

Der obige passport:install-Befehl erstellt den Client und die Schlüssel dafür Identitätsprüfung. Wir müssen auch die Authentifizierungsroute mithilfe der von Laravel Passport bereitgestellten Methode Passport::routes() beim Startdienstanbieter registrieren: passport:install命令将创建客户端和密钥,以便进行身份验证。我们还需要在启动服务提供者中使用Laravel Passport提供的Passport::routes()方法来注册身份验证路由:

// app/Providers/AuthServiceProvider.php

use LaravelPassportPassport;

// ...

public function boot() 
{
    // ...
    
    Passport::routes();
}
Nach dem Login kopieren

这将注册Laravel Passport提供的路由,以便我们可以使用它来进行身份验证。同时,我们还需要在config/auth.php配置文件中选择passport驱动:

'guards' => [
    'api' => [
        'driver' => 'passport',
        'provider' => 'users',
    ],
],
Nach dem Login kopieren

Lumen中使用Laravel Passport

如果我们的项目是使用Lumen框架创建的,那么我们可以使用Laravel Passport的Lumen版本,它提供了与Lumen兼容的方式。我们可以使用以下命令安装Laravel Passport:

composer require dusterio/lumen-passport
Nach dem Login kopieren

安装完成后,我们需要在bootstrap/app.php文件中添加以下两行代码来注册Lumen Passport的服务提供者:

$app->register(DusterioLumenPassportPassportServiceProvider::class);
$app->configure('auth');
Nach dem Login kopieren

在完成注册后,我们需要注册路由和中间件。我们可以在app/Http/routes.php文件中添加以下代码来注册Lumen Passport提供的路由:

$app->group(['middleware' => ['api']], function ($app) {
    DusterioLumenPassportLumenPassport::routes($app, ['prefix' => 'auth']);
});
Nach dem Login kopieren

以上代码中,prefix选项指定了路由前缀,middleware指定了使用的中间件。

接下来,我们需要添加Lumen Passport提供的中间件。在bootstrap/app.php文件中,添加以下代码来注册中间件:

$app->middleware([
    // ...
    DusterioLumenPassportHttpMiddlewareAddCustomHeaders::class,
]);
Nach dem Login kopieren

注册完毕后,我们就完成了Lumen中使用Laravel Passport的配置工作。

使用密码授权方式进行身份验证

一旦我们完成了Laravel Passport的配置,我们就可以使用密码授权方式来进行身份验证。在这种授权方式下,客户端需要使用客户端ID和秘钥来请求访问令牌,然后使用该访问令牌来请求受保护的API资源。

我们可以使用以下代码来请求访问令牌:

$postData = [
    'grant_type' => 'password',
    'client_id' => '{client-id}',
    'client_secret' => '{client-secret}',
    'username' => '{username}',
    'password' => '{password}',
    'scope' => '',
];

$ch = curl_init('http://api.example.com/oauth/token');
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);

$accessToken = json_decode($response)->access_token;
Nach dem Login kopieren

在以上代码中,我们使用了curl库来向我们的API服务请求访问令牌。请注意,{client-id}{client-secret}需要替换为真实的客户端ID和秘钥,{username}{password}

$response = Http::withHeaders([
    'Authorization' => 'Bearer ' . $accessToken,
])->get('http://api.example.com/api/user');
Nach dem Login kopieren
Dadurch wird die von Laravel Passport bereitgestellte Route registriert, damit wir sie zur Authentifizierung verwenden können. Gleichzeitig müssen wir auch den passport-Treiber in der Konfigurationsdatei config/auth.php auswählen:

rrreee

Laravel Passport in Lumen verwenden

Wenn unser Projekt mit dem Lumen-Framework erstellt wird, Dann können wir die Lumen-Version von Laravel Passport verwenden, die eine Lumen-kompatible Möglichkeit bietet. Wir können Laravel Passport mit dem folgenden Befehl installieren:

rrreee

Nach Abschluss der Installation müssen wir die folgenden zwei Codezeilen in die Datei bootstrap/app.php einfügen, um den Dienstanbieter von Lumen Passport zu registrieren:

rrreee

After Zum Abschluss der Registrierung müssen wir Routen und Middleware registrieren. Wir können der Datei app/Http/routes.php den folgenden Code hinzufügen, um die von Lumen Passport bereitgestellten Routen zu registrieren: 🎜rrreee🎜Im obigen Code gibt die Option prefix das Routenpräfix middleware code> gibt die verwendete Middleware an. 🎜🎜Als nächstes müssen wir die von Lumen Passport bereitgestellte Middleware hinzufügen. Fügen Sie in der Datei „bootstrap/app.php“ den folgenden Code hinzu, um die Middleware zu registrieren: 🎜rrreee🎜Nachdem die Registrierung abgeschlossen ist, haben wir die Konfiguration für die Verwendung von Laravel Passport in Lumen abgeschlossen. 🎜🎜Passwortautorisierung zur Authentifizierung verwenden🎜🎜Sobald wir die Konfiguration von Laravel Passport abgeschlossen haben, können wir die Passwortautorisierung zur Authentifizierung verwenden. Bei dieser Autorisierungsmethode muss der Client die Client-ID und den geheimen Schlüssel verwenden, um ein Zugriffstoken anzufordern, und dann das Zugriffstoken verwenden, um geschützte API-Ressourcen anzufordern. 🎜🎜 Wir können den folgenden Code verwenden, um das Zugriffstoken anzufordern: 🎜rrreee🎜 Im obigen Code haben wir die Curl-Bibliothek verwendet, um das Zugriffstoken von unserem API-Dienst anzufordern. Bitte beachten Sie, dass <code>{client-id} und {client-secret} durch die tatsächliche Client-ID und das tatsächliche Geheimnis {username} ersetzt werden müssen und {password} müssen durch echte Benutzeranmeldeinformationen ersetzt werden. 🎜🎜Sobald wir das Zugriffstoken erhalten haben, können wir damit auf die geschützte API-Ressource zugreifen. Beim Zugriff auf die API müssen wir das Zugriffstoken in den Authorization-Header einfügen. Sie können dies in Laravel mit dem folgenden Code tun: 🎜rrreee🎜 Im obigen Code verwenden wir den HTTP-Client von Laravel, um auf die API zuzugreifen. Wenn der Client eine Anfrage stellt, fügen wir das Zugriffstoken in den Autorisierungsheader ein, damit der API-Dienst das Token validieren und die geschützte Ressource zurückgeben kann. 🎜🎜Fazit🎜🎜Mit Laravel Passport und Lumen können wir unseren API-Diensten starke Authentifizierungsfunktionen hinzufügen. Bei der Implementierung der API-Authentifizierung müssen wir das OAuth2-Autorisierungsprotokoll und seine Autorisierungsmethode verstehen. Bei Verwendung der Passwortautorisierung muss der Client die Client-ID und den geheimen Schlüssel verwenden, um ein Zugriffstoken anzufordern. Sobald wir das Zugriffstoken erhalten haben, können wir damit auf geschützte API-Ressourcen zugreifen. 🎜

Das obige ist der detaillierte Inhalt vonLaravel-Entwicklung: Wie implementiert man die API-Authentifizierung mit Laravel Passport und Lumen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie OpenID Connect für die API-Authentifizierung in PHP So verwenden Sie OpenID Connect für die API-Authentifizierung in PHP Jun 17, 2023 pm 07:33 PM

Im heutigen digitalen Zeitalter ist die API-Authentifizierung zu einem weit verbreiteten technischen Mittel geworden. Um die Sicherheit der API-Informationen zu gewährleisten, verwenden viele Websites und Anwendungen das OpenIDConnect-Protokoll zur Authentifizierung. Mit diesem Protokoll können Sie einen externen Identitätsanbieter (IdP) verwenden, um Benutzer zu authentifizieren und Ihrer API die Möglichkeit zu geben, Identitäts- und Zugriffstoken auszutauschen. In diesem Artikel erfahren Sie, wie Sie OpenIDConnect für die API-Authentifizierung in PHP verwenden. Installieren Sie die PHP-Entwicklung

So verwenden Sie das PHP-Framework Lumen, um ein effizientes Nachrichten-Push-System zu entwickeln und zeitnahe Push-Dienste bereitzustellen So verwenden Sie das PHP-Framework Lumen, um ein effizientes Nachrichten-Push-System zu entwickeln und zeitnahe Push-Dienste bereitzustellen Jun 27, 2023 am 11:43 AM

Mit der rasanten Entwicklung des mobilen Internets und den sich ändernden Benutzeranforderungen ist das Nachrichten-Push-System zu einem unverzichtbaren Bestandteil moderner Anwendungen geworden. Es kann Funktionen wie sofortige Benachrichtigung, Erinnerung, Werbung, soziale Netzwerke usw. realisieren und Benutzern und Unternehmen bieten Kunden mit besserer Erfahrung und Service. Um dieser Nachfrage gerecht zu werden, wird in diesem Artikel vorgestellt, wie man mit dem PHP-Framework Lumen ein effizientes Nachrichten-Push-System entwickelt, um zeitnahe Push-Dienste bereitzustellen. 1. Einführung in Lumen Lumen ist ein Mikro-Framework, das vom Laravel-Framework-Entwicklungsteam entwickelt wurde

So verwenden Sie das Lumen-Framework in PHP So verwenden Sie das Lumen-Framework in PHP Jun 27, 2023 pm 04:49 PM

So verwenden Sie das Lumen-Framework in PHP Lumen ist eine vereinfachte Version des Laravel-Frameworks, die sich auf die schnelle Erstellung schlanker Microservices und API-Anwendungen konzentriert. Lumen ist ein Open-Source-Framework, das von Taylor Otwell erstellt und gepflegt wird. Es ist für seine spektakuläre Geschwindigkeit und Leistung bekannt. In diesem Artikel stellen wir vor, wie Sie das Lumen-Framework in PHP verwenden. 1. Installieren und konfigurieren Sie das Lumen-Framework. Zuerst müssen Sie das Composer-Tool in Ihrem System installieren. Komp

Laravel-Entwicklung: Wie implementiert man die API-Authentifizierung mit Laravel Passport und Lumen? Laravel-Entwicklung: Wie implementiert man die API-Authentifizierung mit Laravel Passport und Lumen? Jun 15, 2023 pm 08:35 PM

Mit der rasanten Entwicklung der mobilen Technologie und des Cloud Computing haben viele Unternehmen eigene API-Dienste entwickelt und diese zu einem Teil ihres Kerngeschäfts gemacht. Während dieses Prozesses ist es sehr wichtig, API-Daten zu schützen und sicherzustellen, dass nur autorisierte Benutzer auf diese API-Daten zugreifen können. Daher wird die API-Authentifizierung zu einem wichtigen Thema. In Laravel und Lumen kann die API-Authentifizierung mit LaravelPassport implementiert werden. LaravelPassport ist ein OA-basiertes

Anwendung und Förderung der PSR2- und PSR4-Spezifikationen im Lumen-Mikroframework Anwendung und Förderung der PSR2- und PSR4-Spezifikationen im Lumen-Mikroframework Oct 15, 2023 am 11:21 AM

Anwendung und Förderung der PSR2- und PSR4-Spezifikationen im Lumen-Mikroframework Einführung: Mit der weit verbreiteten Anwendung und Entwicklung der PHP-Sprache sind Codespezifikationen zu einem wichtigen Aspekt für die Aufrechterhaltung der Codequalität und Lesbarkeit geworden. PHPFIG (PHPFIG, PHPFrameworkInteropGroup) hat eine Reihe von Best-Practice-Spezifikationen (PSR, PHPStandardsRecommendations) zur PHP-Entwicklung erstellt, darunter PSR2 und PSR

So verwenden Sie das PHP-Framework Lumen, um ein effizientes Nachrichtenwarteschlangensystem zu entwickeln So verwenden Sie das PHP-Framework Lumen, um ein effizientes Nachrichtenwarteschlangensystem zu entwickeln Jun 27, 2023 pm 03:46 PM

Mit der kontinuierlichen Entwicklung des Internets werden die Datenmengen immer größer und es werden effizientere Methoden zur Verarbeitung dieser großen Datenmengen benötigt. Das Nachrichtenwarteschlangensystem ist ein wirksames Mittel zur Lösung dieses Problems. PHP ist eine sehr beliebte Programmiersprache, die in der Internetentwicklung weit verbreitet ist. Einige der beliebtesten CMS wie WordPress, Drupal und Joomla sind in PHP geschrieben. Unter den PHP-Frameworks ist Lumen ein leichtes Framework zum Erstellen effizienter Webanwendungen und APs

Implementierung der PHP-Sicherheitsüberprüfung mit Laravel Passport Implementierung der PHP-Sicherheitsüberprüfung mit Laravel Passport Jul 25, 2023 pm 09:33 PM

Einführung in die PHP-Sicherheitsüberprüfung mit LaravelPassport: In der modernen Webentwicklung sind Benutzerauthentifizierung und -autorisierung sehr wichtige Sicherheitsfunktionen. LaravelPassport ist ein OAuth2-basiertes Authentifizierungstool, mit dem wir Benutzerauthentifizierungs- und Autorisierungsfunktionen einfach implementieren können. In diesem Artikel wird erläutert, wie Sie mit LaravelPassport die Sicherheitsüberprüfung in PHP implementieren. Schritte: Laravel installieren

Laravel-Entwicklung: Wie stellt man mit Laravel Sanctum eine API-Authentifizierung für SPA bereit? Laravel-Entwicklung: Wie stellt man mit Laravel Sanctum eine API-Authentifizierung für SPA bereit? Jun 13, 2023 am 09:19 AM

Laravel-Entwicklung: Wie stellt man mit LaravelSanctum eine API-Authentifizierung für SPA bereit? Angesichts der Popularität von Single Page Applications (SPA) benötigen wir eine zuverlässige Möglichkeit, unsere APIs vor unbefugtem Zugriff und Angriffen zu schützen. LaravelSanctum ist ein leichtes Authentifizierungssystem von Laravel, das eine einfache Authentifizierung für SPA ermöglicht. In diesem Artikel erfahren Sie, wie Sie mit LaravelSanctum eine API für Ihr SPA bereitstellen

See all articles