Implémentation et test de l'authentification Socialite dans Laravel

DEV - 31/12
Découvrez comment implémenter et tester l'authentification Google dans une application Laravel à l'aide de Socialite.
!DOCTYPE html

Laravel Socialite est un package Laravel propriétaire qui aide les développeurs à implémenter l'authentification sociale OAuth et OAuth2 dans leurs applications. Il prend en charge Facebook, Twitter, Google, LinkedIn, GitHub, GitLab et Bitbucket. Socialite peut soutenir d'autres fournisseurs via des packages communautaires.

Ce message :

  • Expliquez ce que Socialite fait et ne fait pas.
  • Montrez comment intégrer l'authentification Google dans un nouveau projet Laravel via Socialite.
  • Montrez un exemple de test de Socialite.

TLDR : vous pouvez visualiser le projet terminé sur mon GitHub. Jetez-y un œil si vous préférez simplement lire le code terminé.

Que fait et ne fait pas Laravel Socialite ?

Socialite est un petit package, dont l'API principale se compose principalement de deux méthodes principales :

  • Socialite::driver($authProvider)->redirect()redirigera l'utilisateur vers le fournisseur d'authentification spécifié, en transmettant toutes les informations nécessaires au fournisseur via les paramètres d'URL.
  • Socialite :: driver ($ authProvider) -> user ()récupère les données utilisateur renvoyées par le fournisseur d'authentification et les met à la disposition du point de terminaison.

Il existe des méthodes de prise en charge supplémentaires pour les étendues de paramètres et les paramètres facultatifs. Vous pouvez en savoir plus sur eux dans la documentation Socialite.

Socialite ne fait pas ce qui suit : il laisse la mise en œuvre de ces fonctionnalités au développeur :

  • ❌ Créez des tables ou des colonnes de base de données nécessaires pour stocker les données d'authentification sociale.
  • ❌ Créez des utilisateurs qui n'existent pas lors du processus d'authentification.
  • ❌ Authentifiez l'utilisateur après un flux OAuth réussi.
  • ❌ Actualisez les jetons OAuth.

Prérequis : créer un projet Google Cloud

Nous allons mettre en place un petit projet Socialite qui permet à l'utilisateur de s'authentifier via Google. Pour ce faire, vous devez créer une application Google.

Créez d'abord un nouveau projet Google Cloud, puis configurez un écran de consentement OAuth pour le projet. Définissez le type d'utilisateur sur externe, puis activez les étendues suivantes :

  • .../auth/userinfo.email
  • .../auth/userinfo.profile

Après avoir configuré l'écran de consentement, créez un ID client OAuth 2.0 en visitant la page des informations d'identification Google Cloud. Conservez l’ID client et le secret client : nous les utiliserons plus tard dans le projet.

Mise en place d'un projet Laravel minimal avec Socialite

Créez un nouveau projet Laravel :

laravel nouveaux tests mondains
Entrer en mode plein écran Quitter le mode plein écran

Sélectionnez les options suivantes dans le programme d'installation :

┌ Vous souhaitez installer un starter kit ? ────────────────────┐ │ Pas de kit de démarrage │ └─────────────────────────────── ───────────────────────────────┘ ┌ Quel fra...
[Courte citation de 8% de l'article original]
Loading...