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

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

Jun 13, 2023 am 11:39 AM
laravel facebook socialite

Laravel est un framework de développement d'applications Web PHP populaire qui fournit une syntaxe concise et élégante pour aider les développeurs à créer des applications plus rapidement. Laravel Socialite est un plug-in pour Laravel qui vous aide à mettre en œuvre une connexion sociale à l'aide d'API fournies par des plateformes de médias sociaux telles que Facebook, Twitter et Google. Dans cet article, nous présenterons comment implémenter la connexion sociale à l'aide de Laravel Socialite et Facebook.

  1. Installer Laravel Socialite

Pour utiliser Laravel Socialite avec Laravel, vous devez d'abord l'installer. Vous pouvez installer Laravel Socialite dans votre projet Laravel à l'aide de Composer. Dans le terminal, accédez au répertoire du projet et exécutez la commande suivante pour installer :

composer require laravel/socialite
Copier après la connexion
  1. Créez une application Facebook et obtenez les informations d'identification de l'application

Avant d'utiliser la connexion Facebook, vous devez créer une application Facebook. Tout d'abord, connectez-vous au site Web des développeurs Facebook à l'adresse https://developers.facebook.com et créez une nouvelle application en utilisant vos informations d'identification Facebook.

Après avoir créé l'application, obtenez les informations d'identification de l'application, cliquez sur "Paramètres" -> "Basique" et copiez votre identifiant d'application et votre secret d'application (clé secrète) dans n'importe quel éditeur de texte, nous en aurons besoin plus tard.

  1. Modifier le fichier env

Recherchez le fichier ".env" dans le répertoire racine de votre projet Laravel et ajoutez le contenu suivant au bas du fichier :

FACEBOOK_ID=your_facebook_app_id_here
FACEBOOK_SECRET=your_facebook_app_secret_here
FACEBOOK_CALLBACK_URL=http://your_website_url_here/auth/facebook/callback
Copier après la connexion

Veuillez utiliser "l'ID d'application" que vous avez obtenu auprès du développeur Facebook site Web et "Secret Key" remplacent le texte dans "your_facebook_app_id_here" et "your_facebook_app_secret_here". Assurez-vous d'ajouter /auth/facebook/callback à la fin de la valeur FACEBOOK_CALLBACK_URL pour rediriger vers l'URL de rappel de votre application après une connexion Facebook réussie.

  1. Création d'itinéraires et de contrôleurs

Pour implémenter la connexion Facebook, nous devons créer deux itinéraires et un contrôleur. L'itinéraire dirigera l'utilisateur vers Facebook et le rappel de connexion Facebook.

//引导用户前往 Facebook 登录页面
Route::get('facebook', function () {
    return Socialite::driver('facebook')->redirect();
});

//Facebook 登录回调
Route::get('auth/facebook/callback', 'AuthFacebookController@handleCallback');
Copier après la connexion

Le contrôleur est nécessaire pour gérer la réponse de Facebook et créer ou mettre à jour des utilisateurs dans votre application. Créez FacebookController à l'aide de la commande suivante :

php artisan make:controller Auth/FacebookController
Copier après la connexion

Dans FacebookController, nous devons écrire la méthode handleCallback pour gérer la réponse de Facebook et créer ou mettre à jour l'utilisateur dans la base de données.

<?php
namespace AppHttpControllersAuth;
use AppUser;
use IlluminateHttpRequest;
use AppHttpControllersController;
use LaravelSocialiteFacadesSocialite;
class FacebookController extends Controller {
    public function handleCallback(Request $request) {
        try {
            // 从 Facebook 获取用户信息
            $user = Socialite::driver('facebook')->user();
        } catch (Exception $e) {
            // 如果 Facebook 验证失败,重定向到登录页
            return redirect('login');
        }
        // 查找用户
        $authUser = $this->findOrCreateUser($user);
        // 登录用户
        auth()->login($authUser, true);
        // 重定向到应用程序首页
        return redirect()->route('home');
    }
    private function findOrCreateUser($facebookUser) {
        // 根据 Facebook 用户 ID 和服务提供商名称查找用户
        $authUser = User::where('facebook_id', $facebookUser->getId())
            ->where('provider', 'facebook')
            ->first();
        if ($authUser) {
            return $authUser;
        }
        // 如果未找到该用户,创建一个新用户
        return User::create([
            'name' => $facebookUser->getName(),
            'email' => $facebookUser->getEmail(),
            'facebook_id' => $facebookUser->getId(),
            'provider' => 'facebook',
            'avatar' => $facebookUser->getAvatar(),
            'password' => md5(rand(1,10000)),
        ]);
    }
} 
Copier après la connexion

Notez qu'ici nous utilisons md5(rand(1,10000)) pour définir le mot de passe aléatoire de l'utilisateur.

  1. À ce stade, la mise en œuvre de la connexion sociale est terminée.

Vous pouvez désormais accéder à l'itinéraire "/facebook" de l'application et terminer le processus de connexion en cliquant sur Connexion Facebook.

En utilisant Laravel Socialite et Facebook, la mise en œuvre de la connexion sociale devient très simple et peut réduire considérablement votre charge de travail. Laravel et certains autres frameworks PHP fournissent aux développeurs de nombreux outils faciles à utiliser pour créer de superbes applications Web, comme la connexion sociale ici.

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

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

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

Bitget Exchange Official Site Web Login Dernière entrée Bitget Exchange Official Site Web Login Dernière entrée Feb 18, 2025 pm 02:54 PM

Le Bitget Exchange propose une variété de méthodes de connexion, y compris le courrier électronique, le numéro de téléphone mobile et les comptes de médias sociaux. Cet article détaille les dernières entrées et étapes pour chaque méthode de connexion, y compris l'accès au site officiel, la sélection de la méthode de connexion, la saisie des informations d'identification de connexion et la fin de la connexion. Les utilisateurs doivent prêter attention à l'utilisation du site officiel lors de la connexion et à conserver correctement les informations d'identification de connexion.

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

OUYI SITE WEB OUDITE OKX Lien d'entrée officielle OUYI SITE WEB OUDITE OKX Lien d'entrée officielle Mar 21, 2025 pm 06:15 PM

Avec la popularité croissante du trading des crypto-monnaies, il est crucial de choisir une plate-forme de trading sûre et fiable. En tant que la principale plate-forme de trading d'actifs numériques au monde, OUYI OKX est très favorisé pour ses produits de trading riches, riches, une bonne liquidité et une expérience utilisateur. Cependant, Internet regorge de fausses informations et de nombreux utilisateurs ont du mal à identifier le site officiel d'Ouyi OKX. Cet article vous guidera comment accéder en toute sécurité et rapidement à la plate-forme officielle OUYI OKX, éviter de saisir accidentellement des sites Web de phishing et d'assurer la sécurité de vos actifs numériques. Nous présenterons diverses méthodes telles que les moteurs de recherche, les sites Web tiers, les médias sociaux officiels et les applications officielles pour trouver des liens de portail officiels et fournir des conseils de sécurité importants pour vous aider à effectuer des transactions de crypto-monnaie sûres et fiables sur la plate-forme OKI OKX.

See all articles