سيرشدك هذا البرنامج التعليمي خلال عملية إضافة وظيفة تسجيل الدخول إلى Facebook إلى تطبيق Laravel الخاص بك.
يوفر Laravel Socialite واجهة معبرة وسلسة لمصادقة OAuth مع Facebook وTwitter وGoogle وLinkedIn وGitHub وGitLab وBitbucket.
تثبيته عبر الملحن:
composer require laravel/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
أضف هذه المسارات إلى مساراتك/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']);
إنشاء وحدة تحكم جديدة:
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()); } } }
أضف facebook_id إلى المصفوفة القابلة للتعبئة في نموذج المستخدم الخاص بك:
protected $fillable = [ 'name', 'email', 'password', 'facebook_id', ];
إنشاء عملية ترحيل جديدة:
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
في عرض تسجيل الدخول الخاص بك، أضف زر "تسجيل الدخول باستخدام Facebook":
Login with Facebook
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3