


Développement Laravel : Comment implémenter l'authentification OAuth2 à l'aide de Laravel Passport ?
Développement Laravel : Comment implémenter l'authentification OAuth2 à l'aide de Laravel Passport ?
Laravel est un framework de développement Web PHP populaire qui facilite la création d'applications Web efficaces, évolutives et faciles à entretenir. Laravel possède de nombreuses fonctionnalités et composants, notamment Laravel Passport. Laravel Passport est une implémentation complète du serveur OAuth2 qui aide les développeurs à ajouter facilement une authentification sécurisée à leurs applications.
OAuth2 est une norme d'autorisation pour sécuriser les API et est une méthode sécurisée qui permet aux applications tierces d'accéder aux données des utilisateurs via des API. Il s'agit d'un standard ouvert utilisé par de nombreuses entreprises et organisations, telles que Facebook, Google, GitHub et Twitter. Laravel Passport est l'implémentation officielle du serveur OAuth2 du framework Laravel.
Ci-dessous, je vais vous montrer comment implémenter l'authentification OAuth2 à l'aide de Laravel Passport.
Étape 1 : Installer Laravel Passport
Utilisez Composer pour installer Laravel Passport. Entrez la commande suivante sur la ligne de commande :
composer require laravel/passport
Une fois l'installation terminée, exécutez la commande suivante pour publier les fichiers de configuration de Passport et les migrations de bases de données :
php artisan passport:install
Cette commande créera la clé de chiffrement ainsi que la table de base de données utilisée pour générer le jeton d'accès.
Étape 2 : Configurez Passport
Activez Passport dans votre application Laravel. Modifiez le fichier config/app.php
et ajoutez LaravelPassportPassportServiceProvider::class,
au tableau Provide. config/app.php
文件,将LaravelPassportPassportServiceProvider::class,
添加到Provide数组中。
在AppUser
模型中实现LaravelPassportHasApiTokens
trait。这个Trait将会给用户模型添加一些有关API用户的方法。
接下来,运行数据迁移以创建Passport使用的数据库表结构。
php artisan migrate
步骤3:在Passport中设置客户端
Passport在内部使用了OAuth2客户端-服务器模型。开发人员需要为其客户端创建唯一的“客户端ID”和“客户端密码”。在Laravel Passport中,要创建一个新的客户端,可以使用php artisan passport:client
命令。此命令将生成一个客户端ID和客户端密码,这些信息必须妥善存储,以便在API中使用。
php artisan passport:client --client
步骤4:定义API路由
在routes/api.php
文件中定义您的API路由。Passport包括一个名为auth:api
LaravelPassportHasApiTokens
dans le modèle AppUser
. Ce trait ajoutera certaines méthodes liées aux utilisateurs de l'API au modèle utilisateur. Ensuite, exécutez la migration des données pour créer la structure de table de base de données utilisée par Passport. Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); });
php artisan passeport:client
. Cette commande générera un ID client et un secret client, qui doivent être correctement stockés pour être utilisés dans l'API. POST /oauth/token HTTP/1.1 Host: your-app.com Content-Type: application/x-www-form-urlencoded grant_type=password& client_id=client-id& client_secret=client-secret& username=user@your-app.com& password=user-password&
routes/api.php
. Passport inclut un middleware appelé auth:api
pour vérifier si la requête contient un jeton d'accès valide. Assurez-vous d'utiliser ce middleware pour protéger les routes protégées. Exemple : { "token_type": "Bearer", "expires_in": 31536000, "access_token": "eyJ0eXAiOiJKV1QiLCJ...", "refresh_token": "def5020086062f..." }
GET /api/user HTTP/1.1 Host: your-app.com Authorization: Bearer eyJ0eXAiOiJKV1QiLCJ...
rrreee
Notez que le passage de la commande passeport:install générera une clé de cryptage, qui sera utilisée pour générer le jeton d'accès. Étape 6 : Appelez l'API à l'aide du jeton d'accès 🎜🎜Enfin, utilisez le jeton d'accès pour appeler le point de terminaison de l'API protégé. Lors de la définition des en-têtes des requêtes, assurez-vous d'utiliser le protocole d'authentification du porteur et spécifiez l'en-tête « Autorisation » dans la requête. 🎜🎜Exemple : 🎜rrreee🎜Cela renverra une représentation JSON de l'utilisateur actuellement authentifié. 🎜🎜Conclusion : 🎜🎜Laravel Passport fournit un moyen pratique d'implémenter le flux d'authentification OAuth2. Il permet aux développeurs d'ajouter rapidement la fonctionnalité OAuth2 aux applications Laravel, rendant l'API plus sécurisée. Grâce aux étapes ci-dessus, vous pouvez apprendre à implémenter l'authentification OAuth2 dans Laravel à l'aide de Laravel Passport. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Laravel - Artisan Commands - Laravel 5.7 est livré avec une nouvelle façon de traiter et de tester de nouvelles commandes. Il inclut une nouvelle fonctionnalité de test des commandes artisanales et la démonstration est mentionnée ci-dessous ?

Laravel - Personnalisations de pagination - Laravel inclut une fonctionnalité de pagination qui aide un utilisateur ou un développeur à inclure une fonctionnalité de pagination. Le paginateur Laravel est intégré au générateur de requêtes et à Eloquent ORM. La méthode paginate automatique

Méthode pour obtenir le code de retour lorsque l'envoi par e-mail de Laravel échoue. Lorsque vous utilisez Laravel pour développer des applications, vous rencontrez souvent des situations où vous devez envoyer des codes de vérification. Et en réalité ...

Laravel Schedule Tâche d'exécution de dépannage non réactif Lorsque vous utilisez la planification des tâches de calendrier de Laravel, de nombreux développeurs rencontreront ce problème: Schedule: Exécuter ...

La méthode de traitement de l'échec de l'e-mail de Laravel à envoyer le code de vérification est d'utiliser Laravel ...

Comment implémenter la fonction du tableau de Cliquez sur personnalisé pour ajouter des données dans DCATADMIN (Laravel-Admin) lors de l'utilisation de DCAT ...

Laravel - Dump Server - Le serveur de dump Laravel est livré avec la version de Laravel 5.7. Les versions précédentes n'incluent aucun serveur de dump. Le serveur de vidage sera une dépendance de développement dans le fichier laravel/laravel composer.

L'impact du partage des connexions redis dans Laravel Framework et sélectionnez Méthodes Lors de l'utilisation de Laravel Framework et Redis, les développeurs peuvent rencontrer un problème: grâce à la configuration ...
