


Développement Laravel : Comment implémenter la connexion tierce à l'aide de Laravel Socialite et Google ?
Laravel Development : Comment utiliser Laravel Socialite et Google pour implémenter la connexion tierce ?
Dans les applications Web modernes, la connexion et l'authentification des utilisateurs sont essentielles. La méthode d'authentification traditionnelle basée sur le nom d'utilisateur et le mot de passe ne peut plus répondre à ses exigences de sécurité et de commodité. La connexion tierce résout ce problème en permettant aux utilisateurs de se connecter à votre application en utilisant des comptes qu'ils ont déjà créés sur d'autres plateformes.
Dans cet article, nous présenterons comment implémenter la connexion tierce à l'aide de Laravel Socialite et Google.
Qu'est-ce que Laravel Socialite ?
Laravel Socialite est une bibliothèque d'empaquetage pour le processus d'authentification OAuth qui est largement utilisée dans la communauté Laravel. Il nous permet de nous connecter facilement à plusieurs services tiers tels que Facebook, Twitter, Google, etc.
Paramètres de la plateforme de développement Google
Tout d'abord, nous devons créer l'ID client OAuth dans la plateforme de développement Google. Ouvrez https://console.developers.google.com/ et créez un nouveau projet. Dans le menu déroulant "Sélectionner un projet" dans le coin supérieur gauche, cliquez sur "Nouveau projet".
Remplissez le nom du projet et d'autres informations sur les paramètres du projet. Après avoir créé un projet, vous serez redirigé vers la page de présentation du projet. Dans le menu supérieur, sélectionnez API et services > Informations d'identification.
Cliquez sur le bouton "Créer des informations d'identification" et sélectionnez "ID client OAuth".
Dans le menu déroulant « Type d'application », sélectionnez « Application Web ». Afin d'intégrer Laravel Socialite à Google, nous devons remplir les champs « Source JavaScript autorisée » et « URI de redirection ».
Dans le champ "Sources JavaScript autorisées", saisissez le nom d'hôte de votre application, nous pouvons utiliser l'URL de "http://localhost" localement. Dans le champ "URI de redirection", saisissez une URL de rappel pour rediriger vers votre application après vous être connecté depuis Google. Dans cet exemple, nous utiliserons l'URL « http://localhost:8000/auth/google/callback ».
Après la création, vous recevrez un identifiant client et un secret client. Enregistrez ces informations d'identification, nous les utiliserons plus tard dans Laravel.
Installation et configuration de Laravel Socialite
Laravel Socialite est un package Composer qui peut être utilisé en l'installant à partir de la ligne de commande. Nous utilisons la commande suivante pour l'installer :
composer require laravel/socialite
Une fois l'installation terminée, ajoutez le fournisseur de services Socialite dans le fichier de configuration de Laravel :
'providers' => [ // ... LaravelSocialiteSocialiteServiceProvider::class, ],
Vous devez également ajouter le informations de configuration suivantes dans le fichier de configuration Laravel Medium :
'client_id' => env('GOOGLE_CLIENT_ID'), 'client_secret' => env('GOOGLE_CLIENT_SECRET'), 'redirect' => env('GOOGLE_REDIRECT'),
Ici, nous utilisons le fichier .env
pour enregistrer les informations de configuration requises : .env
文件保存需要的配置信息:
GOOGLE_CLIENT_ID=your-client-id GOOGLE_CLIENT_SECRET=your-client-secret GOOGLE_REDIRECT=http://localhost:8000/auth/google/callback
Laravel Socialite集成
在这里,我们需要创建一个路由处理程序,它将处理与Google的OAuth流程。
Route::get('/auth/google', function () { return Socialite::driver('google')->redirect(); }); Route::get('/auth/google/callback', function () { $user = Socialite::driver('google')->user(); dd($user); });
第一个路由处理程序将重定向用户到Google登录流程。
在成功后,用户将被重定向到第二个路由处理程序中。 此时,我们可以使用user()
$user = Socialite::driver('google')->user(); dd($user);
#🎜 🎜#Ici, nous devons créer un gestionnaire de route qui gérera le flux OAuth avec Google.
Route::get('/auth/google/callback', function () { $user = Socialite::driver('google')->user(); // save application user $authUser = User::where('email', $user->email)->first(); if ($authUser) { Auth::login($authUser, true); return redirect('/home'); } // create application user $newUser = new User; $newUser->name = $user->name; $newUser->email = $user->email; $newUser->password = bcrypt(str_random(16)); $newUser->save(); Auth::login($newUser, true); return redirect('/home'); });
Le premier gestionnaire de route redirigera l'utilisateur vers le flux de connexion Google.
En cas de succès, l'utilisateur sera redirigé vers le deuxième gestionnaire de route. À ce stade, nous pouvons utiliser la méthode user()
pour obtenir les informations de l'utilisateur connecté. Remplissez le code utilisateur renvoyé et imprimez les informations utilisateur que vous avez obtenues :
Vous verrez d'autres données sur l'utilisateur, telles que le nom d'utilisateur, l'adresse e-mail, l'avatar, le jeton, etc. Sur la base de ces informations, nous pouvons mettre en œuvre une connexion tierce.
Ici, nous utiliserons les informations utilisateur obtenues ci-dessus pour créer un utilisateur d'application et nous authentifier.
rrreeeIci, nous commençons par trouver les utilisateurs d'applications existants à l'aide des adresses e-mail renvoyées par Google. S'il est trouvé, connectez-vous à l'aide de l'API d'authentification de Laravel. S'il n'est pas trouvé, créez un nouvel utilisateur et connectez-vous à l'aide de l'API d'authentification de Laravel.
Conclusion
#🎜🎜#Cet article explique comment utiliser Laravel Socialite et Google pour implémenter la connexion tierce. #🎜🎜##🎜🎜# Via les paramètres de Google Dev Platform, nous avons généré les informations d'identification OAuth nécessaires. Ensuite, nous avons utilisé Laravel Socialite pour éliminer les étapes et le code fastidieux du processus OAuth. Enfin, nous authentifions et créons le nouvel utilisateur en utilisant l'adresse e-mail existante de l'utilisateur. #🎜🎜##🎜🎜# Nous espérons que cet article fournit des conseils sur la façon de mettre en œuvre une connexion tierce à l'aide de Laravel Socialite et de Google, ainsi qu'un aperçu du processus OAuth. #🎜🎜#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

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Sujets chauds





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 ...

Google appartient à Alphabet Inc., qui est contrôlé par Larry Page et Sergey Bring: 1) le fondateur assure le contrôle de la société en détenant des actions de classe B (10 voix par action); 2) Les actions de classe A et C d'Alphabet sont diffusées sur le marché libre et les plans d'actionnariat des employés, respectivement, mais n'affectent pas le contrôle du fondateur.

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 ...

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 ...

Connexion de la base de données des locataires personnalisés dans le package d'extension multi-locataire Laravel Stancl / location Lors de la construction d'applications multi-locataires à l'aide du package d'extension multi-locataire Laravel Stancl / location, ...

Laravelelognent Model Retrieval: Faconttement l'obtention de données de base de données Eloquentorm fournit un moyen concis et facile à comprendre pour faire fonctionner la base de données. Cet article présentera en détail diverses techniques de recherche de modèles éloquentes pour vous aider à obtenir efficacement les données de la base de données. 1. Obtenez tous les enregistrements. Utilisez la méthode All () pour obtenir tous les enregistrements dans la table de base de données: usApp \ Modèles \ Post; $ poters = post :: all (); Cela rendra une collection. Vous pouvez accéder aux données à l'aide de Foreach Loop ou d'autres méthodes de collecte: ForEach ($ PostsAs $ POST) {echo $ post->
