"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تنفيذ \"تسجيل الدخول باستخدام Facebook\" في Laravel

كيفية تنفيذ \"تسجيل الدخول باستخدام Facebook\" في Laravel

تم النشر بتاريخ 2024-10-31
تصفح:799

How to Implement \

سيرشدك هذا البرنامج التعليمي خلال عملية إضافة وظيفة تسجيل الدخول إلى Facebook إلى تطبيق Laravel الخاص بك.

المتطلبات الأساسية

  • إعداد مشروع Laravel
  • تم تثبيت الملحن
  • حساب مطور الفيسبوك

الخطوة 1: إنشاء تطبيق فيسبوك

  1. انتقل إلى مطوري فيسبوك
  2. انقر على "تطبيقاتي" ثم "إنشاء تطبيق"
  3. اختر "المستهلك" كنوع التطبيق
  4. املأ تفاصيل التطبيق وأنشئ التطبيق
  5. في لوحة تحكم التطبيق، قم بتدوين معرف التطبيق الخاص بك وسر التطبيق

الخطوة 2: تثبيت Laravel Socialite

يوفر Laravel Socialite واجهة معبرة وسلسة لمصادقة OAuth مع Facebook وTwitter وGoogle وLinkedIn وGitHub وGitLab وBitbucket.
تثبيته عبر الملحن:

composer require laravel/socialite

الخطوة 3: تكوين Socialite

أضف ما يلي إلى ملف config/services.php الخاص بك:

'facebook' => [
    'client_id' => env('FACEBOOK_CLIENT_ID'),
    'client_secret' => env('FACEBOOK_CLIENT_SECRET'),
    'redirect' => env('FACEBOOK_REDIRECT_URI'),
],

ثم أضف هذه إلى ملف .env الخاص بك:

FACEBOOK_CLIENT_ID=your_facebook_app_id
FACEBOOK_CLIENT_SECRET=your_facebook_app_secret
FACEBOOK_REDIRECT_URI=http://localhost:8000/login/facebook/callback

الخطوة 4: إعداد الطرق

أضف هذه المسارات إلى مساراتك/web.php:

use App\Http\Controllers\Auth\FacebookController;

Route::get('login/facebook', [FacebookController::class, 'redirectToFacebook'])->name('login.facebook');
Route::get('login/facebook/callback', [FacebookController::class, 'handleFacebookCallback']);

الخطوة 5: إنشاء FacebookController

إنشاء وحدة تحكم جديدة:

php artisan make:controller Auth/FacebookController

تنفيذ وحدة التحكم:

redirect();
    }

    public function handleFacebookCallback()
    {
        try {
            $user = Socialite::driver('facebook')->user();
            $finduser = User::where('facebook_id', $user->id)->first();

            if ($finduser) {
                Auth::login($finduser);
                return redirect()->intended('dashboard');
            } else {
                $newUser = User::create([
                    'name' => $user->name,
                    'email' => $user->email,
                    'facebook_id'=> $user->id,
                    'password' => encrypt('123456dummy')
                ]);

                Auth::login($newUser);
                return redirect()->intended('dashboard');
            }
        } catch (\Exception $e) {
            dd($e->getMessage());
        }
    }
}

الخطوة 6: تحديث نموذج المستخدم

أضف facebook_id إلى المصفوفة القابلة للتعبئة في نموذج المستخدم الخاص بك:

protected $fillable = [
    'name',
    'email',
    'password',
    'facebook_id',
];

الخطوة 7: أضف معرف Facebook إلى جدول المستخدمين

إنشاء عملية ترحيل جديدة:

php artisan make:migration add_facebook_id_to_users_table

في ملف الترحيل الجديد:

public function up()
{
    Schema::table('users', function ($table) {
        $table->string('facebook_id')->nullable();
    });
}

public function down()
{
    Schema::table('users', function ($table) {
        $table->dropColumn('facebook_id');
    });
}

تشغيل الترحيل:

php artisan migrate

الخطوة 8: إضافة زر تسجيل الدخول

في عرض تسجيل الدخول الخاص بك، أضف زر "تسجيل الدخول باستخدام Facebook":


    Login with Facebook

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/johnmaths9/how-to-implement-login-with-facebook-in-laravel-2m5p?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] للحذف هو - هي
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3