La Auth0’s Laravel SDK (trousse SDK Laravel Auth0) vous permet d’ajouter rapidement l’authentification, la gestion du profil utilisateur et le contrôle d’accès au routage à votre application Laravel. Ce guide explique comment intégrer Auth0 avec une nouvelle (ou existante) application Laravel 9 or 10 (Laravel 9 ou 10).
1
Installer Laravel
Si vous n’avez pas déjà configuré une application Laravel, ouvrez un shell dans un répertoire approprié pour un nouveau projet et exécutez la commande suivante :
composer create-project --prefer-dist laravel/laravel auth0-laravel-app ^9.0
Toutes les commandes de ce guide supposent que vous les exécutez à partir de la racine de votre projet Laravel, donc vous devez placer cd
dans le nouveau répertoire du projet :cd auth0-laravel-app
2
Installation de la trousse SDK
Exécutez la commande suivante dans le répertoire de votre projet pour installer la trousse Auth0 Laravel SDK :
composer require auth0/login:^7.8 --update-with-all-dependencies
Générez ensuite un fichier de configuration pour la trousse SDK pour votre application :php artisan vendor:publish --tag auth0
3
Configuration SDK
Exécutez la commande suivante à partir du répertoire de votre projet pour télécharger l’interface de ligne de commande (CLI) Auth0 :Vous devez également créer une nouvelle API :Cela produit deux fichiers qui configurent la trousse SDK dans votre répertoire de projet.Comme ces fichiers contiennent des renseignements personnels, il est important de les traiter comme étant sensibles. Vous devez vous assurer de ne pas les soumettre au contrôle de version. Si vous utilisez Git, vous devez les ajouter à votre fichier
curl -sSfL HTTPs://raw.githubusercontent.com/auth0/auth0-cli/main/install.sh | sh -s -- -b .
Ensuite, authentifiez la CLI avec votre compte Auth0 en choisissant « as a user (en tant qu’utilisateur) » lorsque vous y êtes invité :./auth0 login
Ensuite, créez une nouvelle application avec Auth0 :.gitignore
:echo ".auth0.*.json" >> .gitignore
4
Routes de connexion
La trousse SDK enregistre automatiquement toutes les routes nécessaires pour que les utilisateurs de votre application s’authentifient.
Si vous avez besoin d’un plus grand contrôle sur les utilisateurs, ou s’ils entrent en conflit avec les routes existantes dans votre application, vous pouvez enregistrer manuellement les contrôleurs de la trousse SDK. Veuillez consulter le fichier de mise à jour de la trousse SDK README pour les intégrations avancées.
Routes | Objet |
---|---|
/login | Initie le flux d’authentification. |
/logout | Déconnecte l’utilisateur. |
/callback | Gère le rappel de Auth0. |
5
Contrôle d’accès
Les installations d’authentification de Laravel utilisent des « gardes » pour définir comment les utilisateurs sont authentifiés pour chaque demande. Vous pouvez utiliser la protection d’authentification de la trousse SDK Auth0 pour restreindre l’accès aux routes de votre application.Pour exiger que les utilisateurs s’authentifient avant d’accéder à une route, vous pouvez utiliser l’intergiciel Vous pouvez également exiger que les utilisateurs authentifiés aient des autorisations spécifiques en combinant cela avec l’intergiciel
auth
de Laravel.can
de Laravel.6
Renseignements de l’utilisateur
Les renseignements de l’utilisateur authentifié sont accessibles à partir de la Facade
Auth
de Laravel, ou de la fonction d’assistance auth()
.Par exemple, pour récupérer l’identificateur et l’adresse courriel de l’utilisateur :7
Gestion des utilisateurs
Vous pouvez mettre à jour les informations utilisateur en utilisant la Auth0 Management API. Tous les terminaux de gestion sont accessibles via la méthode Un guide de référence rapide de toutes les méthodes de la Management API de la trousse SDK est disponible ici.
management()
de la trousse SDK.Avant de faire des appels à la Management API, vous devez permettre à votre application de communiquer avec la Management API. Cela peut être fait à partir de la page API du Auth0 Dashboard, en choisissant la Auth0 Management API
et en sélectionnant l’onglet Machine to Machine Applications (Communication entre machines). Autoriser votre application Laravel, puis cliquez sur la flèche vers le bas pour choisir les permissions que vous souhaitez accorder.Pour l’exemple suivant, dans lequel nous allons mettre à jour les métadonnées d’un utilisateur et attribuer une couleur préférée aléatoire, vous devez accorder les permissions read:users
et update:users
. Une liste des points de terminaison API et les permissions requises peuvent être trouvées dans la documentation de la Management API.8
Exécuter l’application
Vous êtes maintenant prêt à lancer votre application Laravel, de sorte qu’elle puisse accepter les demandes :
php artisan serve
Point de contrôle
Ouvrez votre navigateur Web et essayez d’accéder aux routes suivantes :- http://localhost:8000 pour voir la route publique.
- http://localhost:8000/private pour être invité à s’authentifier.
- http://localhost:8000 pour voir la route publique, maintenant authentifiée.
- http://localhost:8000/scope pour vérifier si vous avez l’autorisation
read:messages
. - http://localhost:8000/update pour mettre à jour le profil utilisateur.
- http://localhost:8000/logout pour vous déconnecter.
Lecture supplémentaire
- Référentiels et modèles d’utilisateurs étend la trousse SDK Laravel Auth0 pour utiliser des modèles d’utilisateurs personnalisés, et comment stocker et récupérer les utilisateurs à partir d’une base de données.
- Événements d’appels explique comment écouter les événements soulevés par la trousse SDK Laravel Auth0, pour personnaliser pleinement le comportement de votre intégration.
- Le soutien de la Management API est intégré à la trousse SDK Laravel Auth0, vous permettant d’interagir avec Management API à partir de votre application Laravel.
Étapes suivantes
Beau travail! Si vous en êtes arrivé là, vous devriez avoir la connexion, la déconnexion et les informations de profil utilisateur actives dans votre application.Cela conclut notre tutoriel de démarrage rapide, mais il y a tellement plus à explorer. Pour en savoir plus sur ce que vous pouvez faire avec Auth0, consultez :- Auth0 Dashboard : apprenez à configurer et gérer votre locataire et vos applications Auth0
- Trousse SDK laravel-auth0 : explorez en détail la trousse SDK utilisée dans ce tutoriel
- Auth0 Marketplace : découvrez des intégrations que vous pouvez activer pour étendre les fonctionnalités d’Auth0