Maison cadre php Laravel Développement Laravel : Comment implémenter la connexion tierce à l'aide de Laravel Socialite et Google ?

Développement Laravel : Comment implémenter la connexion tierce à l'aide de Laravel Socialite et Google ?

Jun 14, 2023 am 09:30 AM
laravel google socialite

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
Copier après la connexion

Une fois l'installation terminée, ajoutez le fournisseur de services Socialite dans le fichier de configuration de Laravel :

'providers' => [
    // ...
    LaravelSocialiteSocialiteServiceProvider::class,
],
Copier après la connexion

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'),
Copier après la connexion

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
Copier après la connexion

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);
});
Copier après la connexion

第一个路由处理程序将重定向用户到Google登录流程。

在成功后,用户将被重定向到第二个路由处理程序中。 此时,我们可以使用user()

$user = Socialite::driver('google')->user();
dd($user);
Copier après la connexion

Laravel Intégration Socialite

#🎜 🎜#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');
});
Copier après la connexion

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 :

rrreee

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.

rrreee

Ici, 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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment obtenir le code de retour lorsque l'envoi par e-mail échoue à Laravel? Comment obtenir le code de retour lorsque l'envoi par e-mail échoue à Laravel? Apr 01, 2025 pm 02:45 PM

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

La tâche de calendrier Laravel n'est pas exécutée: que dois-je faire si la tâche n'est pas en cours d'exécution après le calendrier: Exécuter la commande? La tâche de calendrier Laravel n'est pas exécutée: que dois-je faire si la tâche n'est pas en cours d'exécution après le calendrier: Exécuter la commande? Mar 31, 2025 pm 11:24 PM

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

Dans Laravel, comment gérer la situation où les codes de vérification ne sont pas envoyés par e-mail? Dans Laravel, comment gérer la situation où les codes de vérification ne sont pas envoyés par e-mail? Mar 31, 2025 pm 11:48 PM

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

Qui possède réellement Google? Qui possède réellement Google? Apr 02, 2025 pm 04:01 PM

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 de table personnalisée de clic pour ajouter des données dans l'administrateur DCAT? Comment implémenter la fonction de table personnalisée de clic pour ajouter des données dans l'administrateur DCAT? Apr 01, 2025 am 07:09 AM

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

Partage de connexion Laravel Redis: pourquoi la méthode de sélection affecte-t-elle d'autres connexions? Partage de connexion Laravel Redis: pourquoi la méthode de sélection affecte-t-elle d'autres connexions? Apr 01, 2025 am 07:45 AM

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

Laravel Multi-Lenant Extension Stancl / Tenancy: Comment personnaliser l'adresse hôte d'une connexion de base de données de locataire? Laravel Multi-Lenant Extension Stancl / Tenancy: Comment personnaliser l'adresse hôte d'une connexion de base de données de locataire? Apr 01, 2025 am 09:09 AM

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

Laravel Eloquent Orm dans Bangla Partial Model Search) Laravel Eloquent Orm dans Bangla Partial Model Search) Apr 08, 2025 pm 02:06 PM

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

See all articles