Amir Alsaeed نشر 24 مارس 2021 أرسل تقرير نشر 24 مارس 2021 أحاول إضافة تسجيل الدخول إلى موقعي عن طريق فيسبوك، ولكن بعد الضغط على زر تسجيل الدخول أحصل على عدة أخطاء: "Invalid Argument Exception" و No Socialite driver was specified. مع أنني قمت بإدخال معلومات app_id و app_secret في المشروع. كيف يمكنني حل هذه المشكلة؟ اقتباس
0 Sam Ahw نشر 24 مارس 2021 أرسل تقرير نشر 24 مارس 2021 يجب عليك التأكد أولاً من تحميل المكتبة Socialite عن طريق تنفيذ الأمر: composer require laravel/socialite وبعدها في ملف config/services.php نقوم بإضافة بيانات التطبيق في فيسبوك: 'facebook' => [ 'client_id' => env('FACEBOOK_CLIENT_ID'), 'client_secret' => env('FACEBOOK_CLIENT_SECRET'), 'redirect' => env('FACEBOOK_CALLBACK_URL'), ], مع تغيير رابط redirect إلى الرابط الذي سيتم تحويل المستخدم إليه بعد تسجيل الدخول، ويمكننا وضع القيم ضمن .env: FACEBOOK_CLIENT_ID=paste_client_id_here FACEBOOK_CLIENT_SECRET=paste_client_secret_here FACEBOOK_CALLBACK_URL=https://www.example.com/auth/facebook/callback ونتأكد من إضافة مسارات التوجيه الصحيحة: Route::get('auth/facebook/', 'Auth\FacebookController@redirect')->name('auth.facebook'); Route::get('auth/facebook/callback', 'Auth\FacebookController@callback')->name('auth.facebook.callback'); وأخيراً في المتحكم الخاص نقوم باستدعائها عن طريق Socialite::driver('facebook')->user() وتنفيذ باقي العمليات الخاصة بك لمعالجة عملية تسجيل الدخول والتعامل مع قاعدة البيانات وجدول المستخدمين بالشكل التالي: <?php namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use App\User; use Socialite; class FacebookController extends Controller { /** * Create a new controller instance. * * @return void */ public function redirect() { return Socialite::driver('facebook')->redirect(); } /** * Create a new controller instance. * * @return void */ public function callback(Request $request) { try { $facebookAccount = Socialite::driver('facebook')->user(); // نضع هنا عمليات تسجيل الدخول أو التعامل مع قاعدة البيانات return redirect()->route('your.route.name'); } catch (Exception $e) { return redirect()->route('auth.facebook'); } } } وفي حال بقي ظهور الخطأ: "Invalid Argument Exception" يجب عليك التأكد من تفعيل Status: Live للتطبيق ضمن حساب المطورين في فيسبوك. اقتباس
0 بلال زيادة نشر 25 مارس 2021 أرسل تقرير نشر 25 مارس 2021 في ملف composer.json يمكنك وضع التالي "laravel/socialite": "~5.2.2", ثم تشغيل الأمر composer update ثم في ملف config/services.php ضع التالي 'facebook' => [ 'client_id' => '1234567890444', 'client_secret' => '1aa2af333336fffvvvffffvff', 'redirect' => 'http://laravel.dev/login/callback/facebook', ], ثم تقوم بإنشاء مسارين وهما Route::get('/login/{provider?}',[ 'uses' => 'AuthController@getSocialAuth', 'as' => 'auth.getSocialAuth' ]); Route::get('/login/callback/{provider?}',[ 'uses' => 'AuthController@getSocialAuthCallback', 'as' => 'auth.getSocialAuthCallback' ]); ثم إنشاء المتحكم بهذه الطريقة <?php namespace App\Http\Controllers; use Laravel\Socialite\Contracts\Factory as Socialite; class AuthController extends Controller { public function __construct(Socialite $socialite){ $this->socialite = $socialite; } public function getSocialAuth($provider=null) { if(!config("services.$provider")) abort('404'); return $this->socialite->with($provider)->redirect(); } public function getSocialAuthCallback($provider=null) { if($user = $this->socialite->with($provider)->user()){ dd($user); }else{ return 'هناك شيء خطأ'; } } } و في تطبيق الفيسبوك يجب إضافة عنوان url. اقتباس
السؤال
Amir Alsaeed
أحاول إضافة تسجيل الدخول إلى موقعي عن طريق فيسبوك، ولكن بعد الضغط على زر تسجيل الدخول أحصل على عدة أخطاء:
"Invalid Argument Exception" و No Socialite driver was specified.
مع أنني قمت بإدخال معلومات app_id و app_secret في المشروع. كيف يمكنني حل هذه المشكلة؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.