laravel 6 Socialite notwork

#php #laravel #facebook

#php #laravel #Facebook

Вопрос:

у меня возникла эта проблема, когда я попытался войти в систему с помощью facebook, драйвер Socialite не был указан.

это мой код маршрута

 Route::get('/redirect/{service}', 'SocialiteController@redirect');

Route::get('/callback/{service}', 'SocialiteController@callback');
 

мои функции контроллера

 class SocialiteController extends Controller
{
  public function redirect($service)
  {
      return Socialite::drive($service)->redirect();
  }
  public function callback($service)
  {
      return $user = Socialite::with($service)->user();
  }
}
 

и это мой env-код

 FB_CLIENT_ID = (here id)
FB_CLIENT_SECRET = (here passowrd)
FB_REDIRECT = (here url)
 

и это мой код служб

 'facebook' => [
    'client_id' => env('FB_CLIENT_ID'),
    'secret' => env('FB_CLIENT_SECRET'),
    'region' => env('FB_REDIRECT')

 ],
 

url-адрес html

   <div class="col-md-6 offset-md-4">
     <a href="{{url('redirect/Facebook')}}">Login With Facebook</a>
  </div>
 

Комментарии:

1. вы не вызываете driver метод где-либо здесь

2. я вызываю его в функции перенаправления

3. вам всегда нужно его вызывать… но вы не вызываете этот метод на основе вашего кода выше

4. верните Socialite::drive($service)->redirect(); я называю это здесь

5. правильно, что это не driver метод …. удивительно 🙁

Ответ №1:

напишите facebook в нижнем регистре . вот так:

 <div class="col-md-6 offset-md-4">
 <a href="{{url('redirect/facebook')}}">Login With Facebook</a>
</div>
 

Ответ №2:

Я думаю, у вас опечатка. это должно быть driver вместо drive в контроллере, и измените URL facebook на нижний регистр, как предложено @hamed.sz