Я использую Facebook как логин моего приложения.После успешного входа пользователя они перенаправляются на мою домашнюю страницу.Но когда я пытаюсь обновить страницу после входа в систему, она выдает ошибку:
Laravel \ Socialite \ Two \ InvalidStateException Нет сообщения
Это код, который отображается:
public function user()
{
if ($this->hasInvalidState()) {
throw new InvalidStateException; // this line is highlighted
}
$response = $this->getAccessTokenResponse($this->getCode());
$user = $this->mapUserToObject($this->getUserByToken(
$token = Arr::get($response, 'access_token')
));
return $user->setToken($token)
->setRefreshToken(Arr::get($response, 'refresh_token'))
->setExpiresIn(Arr::get($response, 'expires_in'));
}
Это мой код контроллера:
<?php
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Socialite;
class SocialAccountController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
/**
* Redirect the user to the SNS authentication page.
*
* @return Response
*/
public function redirectToProvider($provider)
{
if ($provider !== 'facebook') {
return abort(404);
}
return Socialite::with($provider)->redirect();
}
public function handleProviderCallback(\App\Models\User $accountService, $provider)
{
try {
$user = Socialite::with($provider)->user();
$create['name'] = $user->getName();
$create['email'] = $user->getEmail();
$create['facebook_id'] = $user->getId();
$user = $accountService->addNew($create);
return view ('user.home')->withDetails($user)->withService($provider);
} catch(Exception $e){
return redirect('/login');
}
}
}
Я нашел некоторые ответы, но не эффективен с моей стороны.Я застрял на этом в течение 2 дней.Как я могу решить это?