Я ожидал, что пользователь будет перенаправлен на мою домашнюю страницу после входа в facebook. Я использую Socialite, Laravel 5.4 и Xampp. После того, как я смог войти в систему через facebook, мой URL-адрес теперь находится в режиме обратного вызова, в котором обратный вызов вызывает контроллер входа, который перенаправляет на домашнюю страницу. Итак, проблема в том, что после перенаправления на домашнюю страницу мой URL-адрес теперь имеет некоторое хешированное значение.
localhost / sampleProject / public / login / facebook / callback? code = AQBZpjdW ...
и когда я перезагружаю страницу, в abstractprovider.php отображается ошибка недопустимого состояния. Мне что-то не хватает в моих функциях?
Внутри моего контроллера входа в систему
public function redirectToProvider()
{
return Socialite::driver('facebook')->redirect();
}
/**
* Obtain the user information from facebook.
*
* @return Response
*/
public function handleProviderCallback()
{
$user = Socialite::driver('facebook')->user();
return view('user-profile', compact('user',$user));
}
Внутри моего файла services.php
'facebook' => [
'client_id' => 'insert_app_id_here',
'client_secret' => 'enter_app_secret_here',
'redirect' => 'http://localhost/sampleProject/public/login/facebook/callback',
],
Внутри моих маршрутов / web.php
Route::get('login/facebook', 'Auth\LoginController@redirectToProvider');
Route::get('login/facebook/callback', 'Auth\LoginController@handleProviderCallback');
Я также включил их в свой config / app.php
Laravel\Socialite\SocialiteServiceProvider::class,
а также
'Socialite' => Laravel\Socialite\Facades\Socialite::class,