#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